홍우진의 개발 일기장

[COS Pro 2급] k번째로 작은 수 / 파이썬 본문

알고리즘/COS Pro

[COS Pro 2급] k번째로 작은 수 / 파이썬

홍우진 2022. 5. 5. 11:47
728x90
반응형

문제 설명


자연수가 담겨있는 n x 4 크기의 2차원 배열에서 k번째로 작은 수를 찾으려 합니다. 이때, n은 배열의 세로길이, 4는 배열의 가로길이입니다. 예를 들어 다음은 자연수가 담겨있는 4 x 4 크기의 2차원 배열입니다.

위 2차원 배열에서 가장 작은 수는 2입니다. 두 번째로 작은 수는 4, 세 번째로 작은 수는 5이며, 네 번째로 작은 수는 11입니다.

2차원 배열 arr와 k가 매개변수로 주어질 때, arr에서 k번째로 작은 수를 찾아 return 하도록 solution 함수를 완성해주세요.

매개변수 설명


2차원 배열 arr와 자연수 k가 solution 함수의 매개변수로 주어집니다.

  • arr는 n x 4 크기의 2차원 배열이며, n은 1 이상 20 이하입니다.
  • n은 arr의 세로길이이며, 가로길이는 항상 4입니다.
  • arr의 원소는 1 이상 1,000 이하의 자연수이며, 같은 수가 중복해서 들어있지 않습니다.
  • k는 1 이상 n x 4 이하의 자연수입니다.

return 값 설명


2차원 배열 arr에서 k번째로 작은 수를 찾아서 return 하도록 solution 함수를 작성해주세요.

 

 

예시 설명


예시

arr k return
[[5,12,4,31],
[24,13,11,2],
[43,44,19,26],
[33,65,20,21]]
4 11

설명

예시 #1
주어진 2차원 배열은 문제의 그림과 같습니다. 이때, 네 번째로 작은 수는 11입니다.

작성 코드


def solution(arr, k):
    a = sum(arr, [])
    a.sort()
    answer = a[k-1]
    return answer
728x90
반응형
Comments