반응형
안녕하세요~
27년차 진로탐색꾼 조녁입니다!
1일 1코테 22일차! 고득점 Kit 에서 정렬 테마 문제 풀어보았습니다.
2단계라 그런지 확실히 생각할 거리가 좀 있었습니다.
어제랑 그제는 전에 푼 문제들 복습하고 개인 프로젝트 진행하느라 문제를 못풀어봤네요 ..
· 문제명 : 가장 큰 수
· 사용 언어 : Python3
· 난이도 : Level2
· 문제 설명
programmers.co.kr/learn/courses/30/lessons/42746
정답 코드
def solution(numbers):
#int list -> str list로 변환
num = list(map(str, numbers))
#x*3을 통해 3자리수로 맞춘 후 맨 앞 index로 내림차순 정렬
num.sort(key = lambda x : x*3, reverse = True)
# int로 변환했다 str으로 변환하는 이유 : "000"을 0으로 처리
return str(int(''.join(num)))
요즘 집중력이 떨어져서 시간 정해놓고 푸는데, 또 못풀어서 다른 분의 풀이 도움을 받았다 .. 그래도 배우는게 있다!!
배운점 정리
1. map() : map은 리스트의 요소를 지정된 함수로 처리해주는 함수 (반복가능한 객체 eg- 튜플, range 등)
<eg : 리스트 int로 바꾸기>
>>> a = [1.2, 2.5, 3.7, 4.6]
>>> a = list(map(int, a))
>>> a
[1, 2, 3, 4]
2.lambda x : 람다 표현식은 함수를 간편하게 작성할 수 있어서 다른 함수의 인수로 넣을 때 주로 사용한다.
3.key : 정렬할 때 기준을 잡아준다. 기본값은 오름차순이다.
<eg : 문자열 2번째 글씨 기준으로 정렬하기>
>>> str_list = ['좋은하루','good_morning','굿모닝','niceday']
>>> print(sorted(str_list, key=len)) # 함수
['굿모닝', '좋은하루', 'niceday', 'good_morning']
>>> print(sorted(str_list, key=lambda x : x[1])) # 람다
['niceday', 'good_morning', '굿모닝', '좋은하루']
https://link.coupang.com/a/rGILU
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
반응형
'코딩테스트 준비 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 조이스틱 (0) | 2021.04.07 |
---|---|
[프로그래머스] 기능개발 (0) | 2021.04.03 |
[프로그래머스] 실패율 (0) | 2021.03.30 |
[프로그래머스][1차]비밀지도 (0) | 2021.03.29 |
[프로그래머스] 콜라츠 추측 (0) | 2021.03.28 |