코딩 테스트/프로그래머스
[Python] 프로그래머스 K번째 수
위시리
2024. 10. 9. 12:47
알고리즘 고득점 kit - 정렬 - lv 1
문제분석
- 배열 array
- i~j번째 수를 자르고 정렬 한 뒤,
- k번째 수
코드 설계
- commends의 1차원 길이만큼 반복하면서 값 가져오기
- array = [i-1, j]
- array.sort( )
- ans.append[k-1] # k번째인데 인덱스는 0부터 시작하니까
- [1번째, 2번째, 3번째 ... ]
- [idx 0, idx 1, idx 2 ... ]
정답 코드
def solution(array, commands):
answer = []
for arr in commands:
ans = array[arr[0]-1:arr[1]]
ans = sorted(ans)
answer.append(ans[arr[2]-1])
return answer
다른 사람 코드 1
def solution(array, commands):
return list(map(lambda x:sorted(array[x[0]-1:x[1]])[x[2]-1], commands))
다른 사람 코드 2
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