[프로그래머스 Lv1] K번째 수 (파이썬)

Jewon Joel Park·2022년 5월 28일
0

Programmers-solution

목록 보기
4/34

문제 링크


문제 설명

입력받은 배열을 슬라이싱 및 정렬 후 k번째 수를 반환하는 함수 작성


풀이 코드

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
  • 단축형
def solution(array, commands):
    return list(sorted(array[i-1:j])[k-1] for i, j, k in commands)

코드 설명

  1. 입력받은 2차원 배열 commands 에서 i, j, k 언패킹
  2. 배열 array에서 i번째 ~ j번째 개체를 슬라이싱하기 위해 i-1:j 인덱스 사용, arr라는 새로운 리스트에 저장
  3. arr 정렬
  4. 반환할 배열 answerarr의 k번째 요소인 arr[k-1] 추가

cf) 위 코드를 사용할 경우 List Comprehension보다 처리속도가 느리다는 단점이 존재, 단축형으로 작성하여 답안 제출

profile
10년을 돌고 돌아 마침내 제자리를 찾은 문과 출신 Python 개발자의 인생기록장

0개의 댓글