문제: K번째 수
코딩테스트 연습 - K번째수
[1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3]
programmers.co.kr
- 내 풀이
def solution(array, commands):
answer=[]
arr=[]
for com in commands:
i=com[0]
j=com[1]
k=com[2]
for n in range(i-1,j):
arr.append(array[n])
arr.sort()
answer.append(arr[k-1])
for m in range(len(arr)):
arr.pop()
return answer
→ for문 없이 그냥 바로 arr=array[i-1:j] 라고 넣어도 됨
- 다른 사람 풀이 1)
def solution(array, commands):
answer = []
for command in commands:
i,j,k = command
answer.append(list(sorted(array[i-1:j]))[k-1])
return answer
→ i,j,k값 한번에 받아오기
- 다른 사람 풀이 2)
def solution(array, commands):
return list(map(lambda x:sorted(array[x[0]-1:x[1]])[x[2]-1], commands))
→ 람다식을 이용한 가장 짧은 코드
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] [Level 1] x만큼 간격이 있는 n개의 숫자 (0) | 2022.02.05 |
|---|---|
| [프로그래머스] [Level 1] 직사각형 별 찍기 (0) | 2022.02.05 |
| [프로그래머스] [Level 1] 신고 결과 받기 (0) | 2022.02.03 |
| [프로그래머스] 가장 큰 수 (정렬) (0) | 2022.02.03 |
| [프로그래머스] 완주하지 못한 선수 (해시) (0) | 2022.01.26 |