๋ฌธ์ ๋งํฌ
https://programmers.co.kr/learn/courses/30/lessons/42746
์ฃผ์ด์ง ์ ์๋ฅผ ์ด์ด๋ถ์ฌ์ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฆฌํดํ๋ ๋ฌธ์ .
ํ์ด
- ์ฒซ๋ฒ์งธ ์์ด๋์ด
next_permutation์ ์ด์ฉํด์ ๋ง๋ค ์ ์๋ ๋ชจ๋ ์ ์ ์กฐํฉ์ ๋ง๋ ๋ค์ ์ ๋ ฌ์ ์ด์ฉํด์ ๊ฐ์ฅ ํฐ ์ ์๋ฅผ ๋ฆฌํดํ๋ค.
๋ฌผ๋ก ์ด ์์ด๋์ด๊ฐ ํ๋ฆฐ ์์ด๋์ด๋ ์๋์ง๋ง, ์ ์๋ ์ต๋ 100,000๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. ๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ๊ฐ ํ ์ ์๋ ๋ชจ๋ ์กฐํฉ์ ๊ฒฝ์ฐ์ ์๋ 100000 ํฉํ ๋ฆฌ์ผ ๊ฐ์ ๊ฒฝ์ฐ๊ฐ ์๋ค. ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ ์๊ฐ ๋๋ฌด ๋ง๊ธฐ๋๋ฌธ์ ์๊ฐ์ด๊ณผ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
- ๋๋ฒ์งธ ์์ด๋์ด
๋จผ์ ์ฃผ์ด์ง ์ ์๋ฅผ ๋ฌธ์์ด๋ก ๋ฐ๊พผ ํ์, ์ ๋ ฌํด์ค๋ค.
๋ฌธ์์ด์ ์ ๋ ฌํ๊ฒ ๋๋ฉด ์ฌ์ ์์ผ๋ก ์ ๋ ฌ๋๊ธฐ ๋๋ฌธ์
"5" ์ "31"์ด ์๋ค๋ฉด ์ซ์์์ผ๋ก๋ 5 < 31 ์ด์ง๋ง ์ฌ์ ์์ผ๋ก๋ "5" > "31" ์ด๊ธฐ ๋๋ฌธ์ 5๊ฐ ์์ ๋ค.
์ ๋ ฌํ ๋ฌธ์์ด๋ค์ ์์๋๋ก ์ด์ด ๋ถ์ธ๋ค.
์ด ๊ฒฝ์ฐ์๋ ์์ธ๊ฐ ๋ฐ์ํ๋ค.
๋ง์ฝ "3" ๊ณผ "30" ์ด ์๋ค๊ณ ํ๋ค๋ฉด, "30" > "3" ์ด๊ธฐ ๋๋ฌธ์ ์ ๋ ฌ ํ ์ด์ด๋ถ์ด๋ฉด "303"์ด ๋๋ค.
"303"์ "330"๋ณด๋ค ์๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ๊ฒฝ์ฐ ์์ธ๊ฐ ๋ฐ์ํ๋ค.
์ด ๋ ๊ฐ์ง ์์ด๋์ด ์ธ์ ๋์ ํ ์ด๋ป๊ฒ ํด์ผํ ์ง ์๊ฐ์ด ์๋์ ๊ณ ๋ฏผ๋์ ๊ฒฐ๊ตญ ๊ตฌ๊ธ์ ์ฐพ์๋ณด๊ฒ ๋์๋ค.
๋ฉํ ๋์ ๋ธ๋ก๊ทธ๊ฐ ์ ์ผ ์์ ์์ด์ ๋ฉํ ๋์ ์์ด๋์ด๋ฅผ ์ฐธ๊ณ ํ๋ค.
์ฐธ๊ณ ๋งํฌ
์ ๋ ฌํ ๋, ๋ ๋ฌธ์์ด์ ๋น๊ตํด์ ๋ ๋ฌธ์์ด์ ์ด์ด๋ถ์์ ๋ ๋ ํฐ ์๋ฅผ ๋ง๋ค ์ ์๋๋ก ํ๋ ์๊ฐ ์์ ์ค๋๋ก ํ๋ค.
์ด๊ฒ ๋ฌด์จ ๋ง์ด๋๋ฉด ์ ๋ ฌํ ๋ ๋ ์๋ฅผ ๋น๊ตํด์ ์ ๋ ฌํ๊ฒ ๋๋๋ฐ,
๋ฌธ์์ด A์ B๊ฐ ์๋ค๊ณ ํ์. AB > BA ๋ฉด A๋ฅผ ๋ ์์๋ ๊ฒ์ผ๋ก ํ๋จํ๋ค.
์๊น์ฒ๋ผ "3" ๊ณผ "30" ์ด ์์ ๋, "3" + "30" ์ ํ๋ ๊ฒ์ด "30" + "3"์ ํ๋ ๊ฒ๋ณด๋ค ๋ ํฐ ์๋ฅผ ๋ง๋ค ์ ์๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ ๋ ฌํ์ ๋ "3"์ด "30"๋ณด๋ค ์์ ์ค๋๋ก ํ๋ค.
์ฝ๋ ์์ฑ
|
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
bool cmp(const string& a, const string& b){
return a + b > b + a;
}
string solution(vector<int> numbers) {
string answer = "";
vector<string> nums;
for(auto num : numbers)
nums.push_back(to_string(num));
sort(nums.begin(), nums.end(), cmp);
if(nums[0] == "0")
return "0";
for(auto str : nums)
answer += str;
return answer;
}
|
cs |
๋น๊ตํจ์๋ฅผ ๋ด ์์๋ก ์ ์ํ ๋ ๋ฌธ์์ด๋ผ๋ฆฌ ๋น๊ต๋ ์ฌ์ ์๊ฐ ๊ฐ๋ฅํ์ง ์ฒ์์์๋ค.
๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ ์ธ์๋ ์จ๋ณธ์ ์ด ์์๋๋ฐ ์ค๋ ์๋ก์ด ์ฌ์ค์ ์๊ฒ๋๋ค.
'ํ๋ก๊ทธ๋๋จธ์ค > 2๋จ๊ณ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค Lv2] : ๊ตฌ๋ช ๋ณดํธ (0) | 2022.06.23 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค Lv2] : ์กฐ์ด์คํฑ (0) | 2022.06.22 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv2] : ํ๊ฒ ๋๋ฒ (0) | 2022.06.20 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv2] : ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ (0) | 2022.06.15 |
[ํ๋ก๊ทธ๋๋จธ์ค Lv2] : ํ๋ฆฐํฐ (0) | 2022.06.15 |