Algorithm
프로그래머스
Python
가장 큰 수

문제 Link

https://school.programmers.co.kr/learn/courses/30/lessons/42746 (opens in a new tab)

풀이

from functools import cmp_to_key
 
def custom_sort(a, b):
  # 두 숫자를 문자열로 합친 뒤 크기를 비교하여 정렬
  if a + b > b + a:
    return -1
  elif a + b < b + a:
    return 1
  else:
    return 0 
 
def solution(numbers):
  answer = ""
  
  strNumbers = []
  
  for n in numbers : 
    strNumbers.append(f"{n}")
  strNumbers = sorted(strNumbers, key=cmp_to_key(custom_sort))
  
  for i in range(len(strNumbers)) : 
    answer += strNumbers[i]
    
  return answer

배운 점

문자열을 숫자처럼 비교할 수 있다는 것을 배우게 되었다.