๋ฌธ์
0 ๋๋ ์์ ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ ์๋ฅผ ์ด์ด ๋ถ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ์์๋ด ์ฃผ์ธ์.
์๋ฅผ ๋ค์ด, ์ฃผ์ด์ง ์ ์๊ฐ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋ง๋ค ์ ์๊ณ , ์ด์ค ๊ฐ์ฅ ํฐ ์๋ 6210์ ๋๋ค.
0 ๋๋ ์์ ์ ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด numbers๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์์๋ฅผ ์ฌ๋ฐฐ์นํ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์ฌํญ
numbers์ ๊ธธ์ด๋ 1 ์ด์ 100,000 ์ดํ์ ๋๋ค.
numbers์ ์์๋ 0 ์ด์ 1,000 ์ดํ์ ๋๋ค.
์ ๋ต์ด ๋๋ฌด ํด ์ ์์ผ๋ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์
numbers return [6, 10, 2] "6210" [3, 30, 34, 5, 9] "9534330"
โป ๊ณต์ง - 2021๋ 10์ 20์ผ ํ ์คํธ์ผ์ด์ค๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
ํ์ด
answer = answer[0]=='0' ? "0" : answer;
์ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์ง ์์ผ๋ฉด (0์ผ๋ก ์์ํ๋ ๋ฌธ์์ด์ด ๋ต์ธ ๊ฒฝ์ฐ) ํ ์คํธ์ผ์ด์ค 11์์ ํ๋ฆฐ๋ค
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(int a, int b) {
string aa = to_string(a);
string bb = to_string(b);
string ab = aa + bb;
string ba = bb + aa;
return stoi(ab) > stoi(ba);
}
string solution(vector<int> numbers) {
string answer = "";
vector<int>v = numbers;
sort(v.begin(), v.end(), cmp);
for(int i : v) {
answer += to_string(i);
}
answer = answer[0]=='0' ? "0" : answer;
return answer;
}
'๐ Cpp > [ํ๋ก๊ทธ๋๋จธ์ค] ๊ณ ๋์ Kit' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค][C++] K๋ฒ์งธ์ (level1) (0) | 2025.01.05 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ๋ ๋งต๊ฒ (level2) (2) | 2025.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ์ฃผ์๊ฐ๊ฒฉ (level2) (0) | 2025.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ์ ํ๋ฒํธ ๋ชฉ๋ก (level2) (0) | 2025.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค][C++] ๋ชจ์๊ณ ์ฌ (level1) (2) | 2025.01.05 |