김찬양의 개발일지
33일차. K번째수 본문
링크
https://school.programmers.co.kr/learn/courses/30/lessons/42748
문제
정답
def solution(array, commands):
answer = []
for i, j, k in commands:
arr = array[i-1:j]
arr.sort()
answer.append(arr[k-1])
return answer
풀이과정
commmands는 문제가 되는 배열이 담긴 배열이고, 길이가 50 이하이므로 순회로 간편하게 해결하도록 하자.
answer = []
for i, j, k in commands:
각 항목에 대한 조건이되는 i, j, k를 구했다. 그러면 이제 차례대로 해결해보자.
1. array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다.
인덱싱은 0부터 시작하고, 문제는 1부터 시작했다. 1을 뺴주자
arr = array[i-1:j]
2. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다.
arr.sort()
3. 2에서 나온 배열의 3번째 숫자는 5입니다.
여기서 나온 숫자를 정답 배열에 append해주면 된다.
answer.append(arr[k-1])
'코딩테스트 > Programmers Level 1' 카테고리의 다른 글
35일차. 모의고사 (0) | 2023.12.31 |
---|---|
34일차. 체육복 (1) | 2023.12.29 |
32일차. [카카오 인턴] 키패드 누르기 (0) | 2023.12.26 |
31일차. 두 개 뽑아서 더하기 (0) | 2023.12.25 |
30일차. 3진법 뒤집기 (0) | 2023.12.24 |