[해결과정]
1. string 벡터 v 생성
2. v에 numbers를 string으로 변환하여 삽입
-> v.push_back(to_string(numbers[i]));
3. sort (정렬)
- bool compare(string a, string b) 함수 사용
-> ( a + b > b + a ) return true;
else false;
a = 120 , b = 21 이라면
a+b = 12021
b+a = 21120
이렇게 문자열을 붙여서 int형으로 비교 하는 것이다.
4. 예외처리
-> v의 첫 원소에 "0"이 들어있다면, 최대 수가 0이라는 것이다. 그래서 return "0";
5. 반복문을 돌며 answer에 v원소들 붙이기
[소스코드]
[해결 과정 중 실수한 부분 / 잡담]
고민을 많이 했던 것 같다... 다른 사람들 소스들을 참고하다, 가장 효율적으로 보이는 것에 아이디어를 얻었다.
처음에는 단순히 정렬을 이용할 생각만 했는데, 커스터마이징 정렬도 앞으로 생각하는 버릇을....
[관련 문제 혹은 비슷한 문제]
정렬
'[PS] 문제풀이 > 프로그래머스' 카테고리의 다른 글
[ 프로그래머스 42626 ] 더 맵게 (C++) (0) | 2020.04.04 |
---|---|
[ 프로그래머스 42587 ] 프린터 (C++) (0) | 2020.03.31 |
[ 프로그래머스 12899 ] 124 나라의 숫자 (C++) (0) | 2020.03.31 |
댓글