-
https://programmers.co.kr/learn/courses/30/lessons/42746
프로그래머스 가장 큰 수 문제입니다.
#include <string> #include <vector> #include <algorithm> using namespace std; bool cmp(string a, string b){ return a+b>b+a; } string solution(vector<int> numbers) { vector<string>s; for(auto iter : numbers) s.push_back(to_string(iter)); sort(s.begin(),s.end(),cmp); string answer = ""; if(s[0] == "0") return "0"; for(auto iter : s) answer += iter; return answer; }
아이디어
커스텀 함수를 이용해 sort를 하면 됨
string + string 한 후 비교하면 사전 순 비교이기 때문에 내림차순으로 정렬이 됨
if(s[0] == "0") return "0"; 라인때문에 맨탈 녹아 내릴뻔했음
꼭 [0,0] result = 0 케이스를 추가하여 테스트 할 것을 권장함
'알고리즘 > 프로그래머스' 카테고리의 다른 글
Programers 타켓넘버 (0) 2022.03.12 Programers H-Index (0) 2022.03.12 Programers K번째수 (0) 2022.03.12 Programers 전화번호 목록 (0) 2022.03.12 Programers 완주하지 못한 선수 (0) 2022.03.12 댓글