코딩테스트 연습 - 정수 내림차순으로 배치하기

Gyuhan Park·2021년 7월 6일
0

코딩테스트 정복

목록 보기
5/47

코딩테스트 연습 - 정수 내림차순으로 배치하기

정수 n의 각 자릿수를 내림차순으로 정렬하라.

# 정답코드

각 자릿수의 크기비교가 필요하기 때문에 정수를 문자열로 바꿔주고 sorted() 함수를 통해 내림차순으로 정렬된 리스트를 얻어냈다. 그 후 join() 함수를 통해 리스트를 문자열로 바꿔주었다.

def solution(n):
    _str = str(n)
    r_list = sorted(_str, reverse=True)
    r_str = ''.join(r_list)
    return int(r_str)

# 참고코드

def solution(n):
    ls = list(str(n))
    ls.sort(reverse = True)
    return int("".join(ls))

* ''.join(리스트)

: list => string 변환된 문자열 반환

a_list = ['8','7','3','2', '1', '1']
a_str = ''.join(a_list) #873211

* sort() vs sorted(리스트)

sort() : 리스트 자체를 정렬. 반환값 없음.
sorted(리스트) : 정렬된 새로운 리스트 반환.

# sort()
a_list = ['8','2', '3', '1']
a_list.sort() # ['1', '2', '3', '8']

# sorted(리스트)
a_list = ['8','2', '3', '1']
new_list = sorted(a_list) # ['1', '2', '3', '8']
print(a_list) # ['8', '2', '3', '1']
new_list = sorted(a_list, reverse=True) # ['8', '3', '2', '1']

# key=lambda 옵션을 이용해 value 값을 기준으로 정렬할 수 있다.
a_dic = {'b': 400, 'e': 300, 'a': 200, 'd': 100, 'c': 500}
new_dic = sorted(a_dic.items(), key=lambda x: x[1], reverse=True)
print(new_dic) # [('c':500), ('b':400), ('e':300), ('a':200), ('d':100)]
profile
단단한 프론트엔드 개발자가 되고 싶은

0개의 댓글