반응형
문제링크)
https://school.programmers.co.kr/learn/courses/30/lessons/120890
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 풀이)
def solution(array, n):
li = []
for i,v in enumerate(array):
if min(list(map(lambda x : abs(x - n) , array))) == abs(v - n) :
li.append(v)
return min(li)
다른 사람 풀이)
solution=lambda a,n:sorted(a,key=lambda x:(abs(x-n),x))[0]
🐣알게된 점)
sorted 함수에 첫 번째 인자로 list와 같은 enumerate 객체를 넣고, 두 번째 인자로 key에 원하는 조건식을 쓸 수 있다.
여기서 lambda x 뒤에 튜플형으로 (1번째, 2번째) 인자를 넣는데, 1번째 인자는 가장 기본이 되는 sort 규칙, 2번째 인자는 후 순위 규칙을 넣을 수 있다.
반응형
'코딩테스트 > Solving exercise' 카테고리의 다른 글
[프로그래머스/Lv.0] 안전지대 (0) | 2023.07.27 |
---|---|
[프로그래머스/Lv.0] 옹알이(1) (0) | 2023.07.27 |
[프로그래머스/Lv.0] 이진수 더하기 (0) | 2023.07.27 |
[프로그래머스/Lv.0] 3,6,9 게임 (0) | 2023.07.27 |
[프로그래머스/Lv.0] 문자열 정렬하기(1) - .isdigit() (0) | 2023.07.27 |
댓글