-
프로그래머스 - 가장 큰 수문제 풀이/프로그래머스 2023. 3. 11. 00:20반응형
코딩테스트 고득점 Kit 정렬 Level 2 문제 가장 큰 수 풀이이다. 처음에는 numbers 의 각 원소를 string으로 바꾸고, 이 때 4자리를 맞춰서 바꾼 뒤 정렬하여 풀었는데, 시간도 많이 소요되고 애초에 정답이 아니었다. 구글링을 통해 numbers 를 정렬할 때 to_string() 으로 바꾼 뒤 둘을 합친 결과가 큰 쪽으로 내림차순 정렬을 하면 쉽게 풀렸다. string 비교 연산이 사전순으로 비교해준다는 사실을 잊어 어렵게 풀었다.
#include <string> #include <vector> #include <algorithm> using namespace std; bool compare(int a, int b) { string tempA = to_string(a); string tempB = to_string(b); return tempA + tempB > tempB + tempA; } string solution(vector<int> numbers) { string answer = ""; sort(numbers.begin(), numbers.end(), compare); for (auto n : numbers) { answer += to_string(n); } if (answer[0] == '0') { return "0"; } return answer; }
반응형'문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 카펫 (0) 2023.03.12 프로그래머스 - 소수 찾기 (2) 2023.03.12 프로그래머스 - H-Index (0) 2023.03.11 프로그래머스 - 더 맵게 (0) 2023.03.10 프로그래머스 - 게임 맵 최단거리 (0) 2023.03.10