Notice
Recent Posts
Recent Comments
Link
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Tags
more
Archives
Today
Total
관리 메뉴

김찬양의 개발일지

33일차. K번째수 본문

코딩테스트/Programmers Level 1

33일차. K번째수

자유로운영혼이다냥 2023. 12. 28. 23:41

링크

https://school.programmers.co.kr/learn/courses/30/lessons/42748

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


 

문제


 

정답

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