본문 바로가기
Algorithm/정렬

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

by HANNI하니 2023. 1. 27.

사용 언어 - Python3

문제 - K번째수

 

프로그래머스

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

programmers.co.kr

 

 

정답

간단한 정렬 인덱싱 문제 (정답 맞춘 여부 O)

정답 풀이

1. commands의 1,2,3번째 원소를 각각 i,j,k로 입력받았다.

2. 리스트를 sort()한후 answer 빈리스트에 append했다.

def solution(array, commands):

    answer = []

    for p in range(len(commands)):
        i = commands[p][0]
        j = commands[p][1]
        k = commands[p][2]
        array1 = array[i-1:j]    
        array1.sort()
        answer.append(array1[k-1])

    return answer

 

다른 사람의 좋은 정답

1. i,j,k를 한번에 입력해주었다. i,j,k = command !!!

2. list(sorted(array))를 사용하여 한줄로 간소화했다.

# 다른 사람의 풀이
def solution(array, commands):
    answer = []
    for command in commands:
        i,j,k = command
        answer.append(list(sorted(array[i-1:j]))[k-1])
    return answer

레퍼런스

  • 정답 깃허브
 

GitHub - yyeongeun/codingtest: 코딩테스트 공부

코딩테스트 공부. Contribute to yyeongeun/codingtest development by creating an account on GitHub.

github.com

 

댓글