가장 큰 수
-
[프로그래머스] 가장 큰 수알고리즘/프로그래머스 2021. 7. 6. 20:49
문자열 정렬에 대해 한 번 더 생각해보게 되는 문제입니다. 두 문자열 "31", "9"를 이용해 만들 수 있는 가장 수의 문자열 형태는 "931"입니다. 이 경우는 오름차순만해도 답이 되지만, "3", "31", "9"는 "9331"이 최대 숫자이므로 단순한 오름차순, 내림차순으로는 답을 구할 수 없습니다. 이 문제를 풀기 위해서는 각 문자열을 비교할 때 그 둘을 이어 붙여 만든 문자열 중 큰 것을 기준해서 내림차순을 하면 됩니다. 가령 "31"과 "9"를 비교하면 "931"이 "319"보다 크므로 "9", "31" 순서로 정렬이 되는 거죠. 한 가지 예외 상황이 있는데 인수에 0이 여러 개 들어있다면 그 들어있는 0만큼 결과가 나온다는 겁니다. {0, 0, 0}을 인수로 넣으면 답이 000이 되는 거죠..