본문 바로가기

프로그래머스 풀이

프로그래머스 1단계 - K번째 수(Python)

깃허브:

https://github.com/MSIQOC/Programmers/blob/main/K%EB%B2%88%EC%A7%B8%EC%88%98.py

 

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

 

코딩테스트 연습 - K번째수

[1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3]

programmers.co.kr

 

 

굉장히 간단한 문제인데 파이썬으로 푸는게 훨씬 더 간편할 것 같아서 이번엔 파이썬으로만 풀었다.

파이썬의 [시작:끝+1] 기능을 이용해서 원하는만큼 배열을 자르고 sort()를 사용해 오름차순으로 정렬해준 뒤 k번째 원소를 answer 배열에 append 해주면 된다.

1
2
3
4
5
6
7
8
9
10
11
12
"""
Created by MinSeo on 2021/08/01.
Copyright ⓒ 2021 MinSeo Shin. All rights reserved.
 
"""
def solution(array, commands):
    answer = []
    for a,b,c in commands : #commands 배열 안에서 각 원소를 이렇게 따로 꺼내볼 수 있다.
        arr = array[(a-1):b] #시작:끝+1
        arr.sort()
        answer.append(arr[c-1])
    return answer
cs

주의할 점

  • 파이썬에서는 ar = arr.sort() 처럼 sort한 배열을 다른 곳으로 옮기지 못한다. (arr.sort()만 해야한다.)
  • 배열을 자르고 싶을 땐 array[시작:끝+1]을 해야 시작부터 끝까지 원하는 만큼 자르기가 가능하단걸 기억하자.
  • 이중 for문을 순회하는 방법 중 하나는 for 원소개수 in 배열 이다.