반응형
지난주에 시험 준비를 하느라 포스팅을 못해서 이번 주는 많이 올릴 예정이다.
프로그래머스의 K번째 수 문제를 파이썬으로 풀어보겠다.
이것도 쉽지만 indexing을 reminding하기 위해 포스팅하겠다.
문제
구현
위 문제 설명의 1번을 slicing해서 자르고
2번의 정렬을 한 뒤
3 번의 indexing으로 정답 리스트에 append 했다.
코드
def solution(array, commands):
answer = []
for i,j,k in commands:
temp = sorted(array[i-1:j])
answer.append(temp[k-1])
return answer
1. 커맨드를 받아서 i-1번째부터 j-1번째까지 자른다. ( [i-1:j] )
2. sort를 한 후
3. answer에 해당 index를 append 시킨다.
다른 풀이
def solution(array, commands):
return list(map(lambda x:sorted(array[x[0]-1:x[1]])[x[2]-1], commands))
원리는 같다.
람다를 사용해서 slicing -> sorting -> indexing을 하고
리스트로 반환한 것이다.
위 코드는 람다와 맵을 적절히 활용한 파이써닉 한 코드이다.
이 문제는 거의 파이썬에서 최적화된 문제이다.
다른 언어로는 어떻게 풀어야 할지 이후 포스트에서 보겠다.
반응형
'Coding Test > Python' 카테고리의 다른 글
[프로그래머스] 성격 유형 검사하기 Python Code (0) | 2022.08.19 |
---|---|
[프로그래머스] 약수의 개수와 덧셈 Python Code (0) | 2022.08.17 |
[프로그래머스] 체육복 Python Code (2) | 2022.08.10 |
[프로그래머스] 예산 Python Code (0) | 2022.08.10 |
[프로그래머스] 없는 숫자 더하기 Python Code (0) | 2022.08.08 |
댓글