Programmers 42746 가장 큰 수
in Algorithm
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42746
나의 풀이
- numbers의 숫자를 문자열로 만든다.
- 문자열들을 큰 숫자대로 정렬한다. (붙였을 때 큰 순서)
- 정렬된 문자열들을 순서대로 붙인다.
풀이 코드 : 42746 가장 큰 수
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
bool compare(string a, string b){
return a+b>b+a;
}
string solution(vector<int> numbers) {
string answer = "";
vector<string> arr;
for(int i=0;i<numbers.size();i++){
arr.push_back(to_string(numbers[i]));
}
sort(arr.begin(), arr.end(),compare);
if(arr[0] == "0"){
answer = "0";
}
else{
for(int i=0;i<arr.size();i++){
answer += arr[i];
}
}
return answer;
}
int main(){
cout<<solution({1,2,21, 21});
}