스토리지

프로그래머스 42746 - 가장 큰 수 본문

알고리즘

프로그래머스 42746 - 가장 큰 수

ljw4104 2021. 8. 30. 16:16

def solution(numbers):
    answer = ''
    temp = [str(num) for num in numbers]
    temp.sort(key=lambda num : num * 3, reverse = True)
    
    return str(int(answer.join(temp)))

첫 시도

1. 일단 역으로 sort함

2. 자릿수를 다 더해서 가장 큰 값을 기준으로 출력을 생각

=> 하지만 3+4 > 5 라서 이 방법은 사용할 수 없음

 

 

sort함수에서 3을 곱해준 이유

2번 예제에서 9 5 34 3 30 => 999 , 555 , 343434 ,333, 303030 을 사전순으로 비교하기 때문에

 

return할 때 int로 바꾸고 str로 또 바꾼 이유

0,0,0,0 을 대입했을 때 그냥 return하면 0000이 return되기 때문이다.

 

 

https://velog.io/@insutance/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4Python-%EA%B0%80%EC%9E%A5-%ED%81%B0-%EC%88%98

 

[프로그래머스][Python] 가장 큰 수

프로그래머스 '가장 큰 수' 문제 풀이

velog.io

이 사이트를 참고했습니다...

'알고리즘' 카테고리의 다른 글

프로그래머스 42747 - H-Index  (0) 2021.08.30
프로그래머스 42748 - K번째수  (0) 2021.08.30
프로그래머스 42885 - 구명보트  (0) 2021.08.30
프로그래머스 42576 - 완주하지 못한 선수  (0) 2021.08.28
코테  (0) 2021.08.28
Comments