[python] 프로그래머스 정렬 가장 큰 수

Jubami·2022년 7월 1일
0

코테연습

목록 보기
12/19
  • 접근
    - itertools 순열로 시도 -> 시간초과
    • 도저히 생각해도 답 안 나옴 -> 다른분 코드 참고해서 겨우 풀었음

      x * 3을 하는 이유?
      num의 인수값이 1000 이하이므로 3자리수로 맞춘 뒤, 비교하겠다는 뜻.
      문자열 비교는 ASCII 값으로 치환되어 정렬된다. 따라서 666, 101010, 222의 첫번째 인덱스 값으로 비교한다.

      참고
      https://jokerldg.github.io/algorithm/2021/05/06/most-big-number.html

  • sort,sorted 파라미터 사용법을 알았다.
    • reverse = True 내림차순, key에 lambda 사용가능
def solution(numbers):
    numbers = list(map(str, numbers))    
    numbers.sort(key=lambda x: x*3, reverse=True)
    return str(int(''.join(numbers))) 
profile
LV.1 아밥퍼

0개의 댓글