1번

def solution(numbers):
    numbers = list( map( str, numbers )  )
    
    mylist = []
    for num in numbers:
        new_num = num*4
        new_num = new_num[:4]
        length = len(num)
            
        mylist.append([new_num, length])
    
    mylist.sort(reverse=True)
    #print(mylist)
    
    answer = ''
    for mylis in mylist:
        value = mylis[0]
        length = mylis[1]
        answer += value[:length]
    
    if int(answer) == 0:
        answer = '0'
    
    return answer

 

2번

import functools

def comparator(a,b):
    t1 = a+b
    t2 = b+a
    return (int(t1) > int(t2)) - (int(t1) < int(t2)) #  t1이 크다면 1  // t2가 크다면 -1  //  같으면 0

def solution(numbers):
    n = [str(x) for x in numbers]
    n = sorted(n, key=functools.cmp_to_key(comparator),reverse=True)
    answer = str(int(''.join(n)))
    return answer

cmp_to_key 함수를 활용하여 커스터마이징 sort 함.

'프로그래머스 > [코테]Level2' 카테고리의 다른 글

[Python] 다리를 지나는 트럭  (0) 2020.10.22
[Python] 스킬트리  (0) 2020.10.22
[Python] 가장큰수  (0) 2020.10.21
[Python] 소수찾기  (0) 2020.10.21
[Python]조이스틱  (0) 2020.10.21

+ Recent posts