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

cheeeese·2022년 2월 2일
0

코딩테스트 연습

목록 보기
39/151
post-thumbnail

📖 문제

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

💻 코드

def solution(array, commands):
    answer = []
    
    for i in range(len(commands)):
        mlist=array[commands[i][0]-1:commands[i][1]]
        mlist.sort()
        answer.append(mlist[commands[i][2]-1])
        
    
    return answer

➕ 풀이와 다른 코드들

  • 새로운 배열 안에 array에서 잘라낸 수들을 저장하고 sort
  • 거기서 k번째 수를 answer 리스트에 저장

다른 코드

def solution(array, commands):
    return list(map(lambda x:sorted(array[x[0]-1:x[1]])[x[2]-1], commands))
  • lambda를 사용해서 한 줄에 정리
  • lambda를 익숙하게 사용해보는 연습하기
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
  • i, j, k = coomand라는 식으로 저장 가능

0개의 댓글