[프로그래머스] K번째수 - Python

Heejun Kim·2022년 7월 18일
0

Coding Test

목록 보기
51/51

🔍 Problem

https://school.programmers.co.kr/learn/courses/30/lessons/42748?language=python3


📰 문제풀이

  • 제한 시간: 15분
  • 성공 여부: 성공

📃 Solving Process

  1. 파이썬의 리스트 슬라이싱을 사용할 줄 알아야 하는 문제다.
  2. 마지막으로 정렬된 리스트로 반환받기 위해 sorted 함수를 사용했다.

💻 Code

def solution(array, commands):
    answer = []
    for command in commands:
        i = command[0]
        j = command[1]
        k = command[2]
        temp = sorted(array[i - 1: j])
        answer.append(temp[k - 1])
    return answer

⏱ Time Complexity

  • commands는 문제의 테스트 케이스이기 때문에 시간 복잡도 계산에서 제외하면, 리스트 슬라이싱과 sorted() 함수만 작동되는 시간만 계산하면 된다.
  • 따라서 시간 복잡도는 O(nlogN)O(nlog_{}{N})이다.

💾 Space Complexity

  • 공간 복잡도는 주어진 입력과 같은 범위의 리스트를 슬라이싱 하게 될 최악의 경우를 고려해 O(N)O(N)이 된다.

0개의 댓글