Dolphins의 HelloWorld
Programmers > 코딩테스트 연습 > 정렬 > 가장 큰 수 본문
문제링크 : https://programmers.co.kr/learn/courses/30/lessons/42746
풀이
꽤 많이 고민했는데 풀이가 생각보다 간단해서 짜증났던 문제이다....
암튼 풀이는 진짜 별게 없고 sort알고리즘에서 활용하기 위한 비교함수를 만드는게 핵심이다.
비교함수에는 매개변수로 string 변수 2개를 가져와서
예를들어 string s1과 string s2가 있다면
s1+s2와 s2+s1중 더 큰것을 먼저오도록 작성하면 이 문제는 끝이 난다.
#include <iostream> #include <algorithm> #include <vector> #include <string> using namespace std; bool cmp(string s1, string s2) { if (s1 + s2 > s2 + s1) return true; else return false; } string solution(vector<int> numbers) { string answer = ""; vector<string> v; for (int i = 0; i < numbers.size(); i++) v.push_back(to_string(numbers[i])); sort(v.begin(), v.end(), cmp); for (int i = 0; i < v.size(); i++) answer += v[i]; if (answer[0] == '0') return "0"; return answer; }
'Algorithm > Programmers 문제풀이' 카테고리의 다른 글
Programmers > 코딩테스트 연습 > 완전탐색 > 카펫 (0) | 2018.10.01 |
---|---|
Programmers > 코딩테스트 연습 > 완전탐색 > 소수찾기 (0) | 2018.09.30 |
(2018)kakao blind recruitment > 무지의 먹방 라이브 (1) | 2018.09.28 |
(2018)kakao blind recruitment 1차 > 실패율 (0) | 2018.09.27 |
(2018)kakao blind recruitment 1차 > 오픈채팅방 (0) | 2018.09.27 |
Comments