-
[C++] ๊ฐ์ฅ ํฐ ์์ฝ๋ฉํ ์คํธ/์ฝ๋ฉํ ์คํธ ์ฐ์ต 2019. 9. 21. 20:45728x90
๋ฌธ์ ์ค๋ช
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 #include <string> #include <vector> #include <iostream> #include <algorithm> using namespace std; bool cmp(string& a, string& b) { return a+b > b+a ? true : false; } string solution(vector<int> numbers) { string answer = ""; vector<string> number_array; for (int i = 0; i < numbers.size(); ++i) number_array.push_back(to_string(numbers.at(i))); /*for (int i : numbers) number_array.push_back(to_string(numbers.at(i)));*/ sort(number_array.begin(), number_array.end(), cmp); for (int i = 0; i < number_array.size(); ++i) answer += number_array.at(i); /*for (auto iter = number_array.begin; iter != number_array.end; ++iter) answer += *iter;*/ if (answer.front() == '0') answer = "0"; return answer; } int main() { vector<int> numbers = {3, 30, 34, 5, 9}; string ans; ans = solution(numbers); cout << ans << endl; }
728x90'์ฝ๋ฉํ ์คํธ > ์ฝ๋ฉํ ์คํธ ์ฐ์ต' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++] ๊ฒฝ์ฐ์ ์ (0) 2020.01.25 [C++] ํ๋ฆฐํฐ (0) 2019.09.21 [C++] K๋ฒ์งธ์ (0) 2019.09.21 [C++] ๋ฒ ์คํธ์จ๋ฒ (0) 2019.09.21 [C++] ์์ฅ (0) 2019.09.20