[C++] 프로그래머스 가장 큰 수

멋진감자·2025년 4월 10일
0

알고리즘

목록 보기
119/127
post-thumbnail

🌽 문제

🥔 풀이

비교연산자를 커스텀해야 하는 문제.
채점할 때 케이스 11에서 자꾸 실패가 뜨길래 질문방을 참고했다.
입력이 [0, 0, 0]인 경우 "000"이 아니라 "0"으로 처리해야 한다.

🥬 코드

#include <iostream>
#include <algorithm>
#include <string>
#include <vector>

using namespace std;

bool cmp(string n, string m) {    
    string a = n + m;
    string b = m + n;
    return a > b;
}

string solution(vector<int> numbers) {
    vector<string> nums;
    string answer = "";
    for (int i = 0; i < numbers.size(); i++) {
        nums.push_back(to_string(numbers[i]));
    }
    sort(nums.begin(), nums.end(), cmp);
    for (int i = 0; i < nums.size(); i++) {
        answer += nums[i];
    }
    if (answer[0] == '0') answer = "0";
    return answer;
}

🥜 채점

profile
난멋져

0개의 댓글