본문 바로가기
[PS] 문제풀이/프로그래머스

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

by 안산학생 2020. 4. 4.

[문제보기]

 

[해결과정]

 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원소들 붙이기 

 

[소스코드]

 

 

 

[해결 과정 중 실수한 부분 / 잡담]

 고민을 많이 했던 것 같다... 다른 사람들 소스들을 참고하다, 가장 효율적으로 보이는 것에 아이디어를 얻었다.

 처음에는 단순히 정렬을 이용할 생각만 했는데, 커스터마이징 정렬도 앞으로 생각하는 버릇을....

 

[관련 문제 혹은 비슷한 문제]

 정렬



 

댓글