기술 블로그

가장 큰 수 본문

알고리즘 문제/AlgoSpot

가장 큰 수

parkit 2019. 4. 19. 19:59
728x90
반응형

https://programmers.co.kr/learn/courses/30/lessons/42746#




처음에 백트래킹인줄 알았다.


그런데 vector 요소의 개수가 100,000개임을 보고 이건 아니다 라고 생각하였다.




방법을 몰라서 다른 분들의 코드를 보았는데,


모두들 cmp 함수를 잘 활용하셨다.




백트래킹으로만 생각했는지 모르겠다.


가장 큰 수이므로, 내림차순 정렬을 조금이라도 생각했었으면 


접근은 했었을텐데 아쉬웠다.






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <string>
#include <vector>
#include <algorithm>
 
using namespace std;
 
bool cmp(const string & a, const string & b)
{
    return a + b > b + a ? true : false;
}
 
string solution(vector<int> numbers) {
    
    string answer = "";
    
    vector<string> v;
    
    for(auto i : numbers)
        v.push_back(to_string(i));
    
    sort(v.begin(), v.end(), cmp);
    
    for(auto i : v)
        answer += i;
    
    if(answer.at(0== '0'return "0";
    
    return answer;
}
cs


728x90
반응형

'알고리즘 문제 > AlgoSpot' 카테고리의 다른 글

DARPA Grand Challenge  (0) 2020.03.13
폴리오미노(POLY)  (0) 2019.01.20
가장 긴 증가하는 부분 수열(LIS)  (0) 2019.01.14
원주율 외우기(PI)  (0) 2019.01.14
삼각형 위의 최대 경로(TRIANGLEPATH)  (0) 2019.01.11