알고리즘 고득점 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
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[Python] 프로그래머스 9로 나눈 나머지 (1) | 2024.10.09 |
---|---|
[Python] 프로그래머스 lv.2 가장 큰 수 (0) | 2024.10.09 |
[Python] 프로그래머스 글자 이어 붙여 문자열 만들기 (0) | 2024.10.08 |
[Python] 프로그래머스 전화번호 목록 (0) | 2024.10.08 |
[Python] 프로그래머스 lv.1 완주하지 못한 선수 (0) | 2024.10.08 |