알고리즘/programmers

[Programmers 코딩테스트 고득점 Kit] 가장 큰 수

꾸준함. 2021. 9. 21. 19:01

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/42746#

 

코딩테스트 연습 - 가장 큰 수

0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰

programmers.co.kr

정렬 기준을 잘 작성해야 하는 문제였습니다.

 

알고리즘은 아래와 같습니다.

1. numbers 벡터를 모두 string으로 변환한 string 벡터를 생성합니다.

2. 정렬을 하는데 정렬 기준은 두 문자열을 합쳤을 때 사전 순서 역순으로 정렬을 진행해줍니다.

3. 2번에서 정렬한 벡터를 순서대로 더한 값이 답이며 이를 반환합니다.

3.1 3번에서 구한 답이 "000000000000"과 같은 형식이라면 "0"만 반환해줘야 합니다.

 

 

개발환경:Visual Studio 2017

지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형