본문 바로가기
개발/알고리즘

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

by ny0011 2020. 4. 8.
반응형

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

 

프로그래머스

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

programmers.co.kr

문제 해석

1) array의 i번째 숫자부터 j번째 숫자까지 자르기 => array[i-1:j]

2) 자른 배열을 정렬하기 => 정렬 아무거나. python의 내장 sort 함수를 사용

3) 자른 배열의 k번째 숫자 => array[k-1]

 

sort함수는 구글링 해보니 O(nlogn)인 것 같다

https://stackoverflow.com/questions/14434490/what-is-the-complexity-of-this-python-sort-method

def slice(array, start, end):
    return array[start-1:end]

def solution(array, commands):
    answer = []
    
    for k in range(len(commands)):
    	# slice
        arr = slice(array, commands[k][0], commands[k][1])
        # sort
        arr.sort()
        # k-th element
        answer.append(arr[commands[k][2]-1])
    return answer

 

'개발 > 알고리즘' 카테고리의 다른 글

파이썬 알고리즘 꿀팁  (0) 2020.12.09
[leetcode] week1 - Move Zeroes  (0) 2020.04.13
[leetcode] week1 - Maximum Subarray  (0) 2020.04.12
[leetcode] week1 - Happy Number  (0) 2020.04.11
[leetcode] week1 - single number  (0) 2020.04.10

댓글