Algorithms / Programmers / 가장 큰 수

Onam Kwon·2022년 4월 8일
0

Algorithms

목록 보기
7/24

링크

https://programmers.co.kr/learn/courses/30/lessons/42746

풀이

listmap함수를 이용해 정수형으로 들어오는 매개변수들을 모두 str형식으로 바꿔주었다.
str형식으로 바꾼 변수 하나하나를 3번씩 반복하게 *3을 해주었다.
str형식이기 때문에 숫자가 3배가 되는게 아닌 3번 반복됨 그리고 숫자가 크길 원하기 때문에 역순인 내림차순 정렬.
• 마지막으로 int로 바꿔줘서 0반복되는 쓰레기값 없애준 후 다시 str로 변환후 리턴.

• 왜 intstr형식으로 바꿈? -> int형식으로 숫자 크기 비교를 하는게 아닌 사전에서 단어가 나오는 순서처럼 크기를 비교해야 하기 때문에.
• 왜 하필이면 *3임? -> 문제 제한 사항의 numbers의 제한값 0이상 1,000이하.
만약 제한값이 0이상 10,000이하 였으면 *4하면 됨.
• 왜 str(int())? -> 문자열인상태 그대로 리턴하면 000이 있을수도 있기때문에 정수로 바꿔서 다 날려준 다음 다시 문자열로 바꾼 후 리턴.

코드

def solution(numbers):
    numbers = list(map(str, numbers))
    numbers.sort(key = lambda x: x*3, reverse=True)
    answer = str(int(''.join(numbers)))
    return answer

Programmers / 가장 큰 수

profile
권오남 / Onam Kwon

0개의 댓글