반응형
Q>
문제 설명
자연수가 담겨있는 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입니다.
A>
def solution(arr, k):
# 2차원 리스트를 1차원 리스트로 변환
container = [] # 빈 리스트 생성
for i in arr:
container += i
container.sort() # container 숫자 오름차순 정렬
return container[k - 1] # k번째로부터 작은 수를 반환하면 된다. 리스트의 인덱스 시작번호는 0번이므로 k-1
print(solution([[5, 12, 4, 31], [24, 13, 11, 2], [43, 44, 19, 26], [33, 65, 20, 21]], 4))
F>
#>
반응형
'Python_Matter > COS Pro' 카테고리의 다른 글
YBM Python Test Level 2 - 이름에 "j" 또는 "k"가 들어가는 사람 (0) | 2019.10.19 |
---|---|
YBM Python Test Level 2 - 알파벳 바꾸기 (0) | 2019.10.19 |
YBM Python Test Level 2 - 키가 K보다 큰 사람 (0) | 2019.10.19 |
YBM Python Test Level 2 - 개구리 (0) | 2019.10.19 |
YBM Python Test Level 2 - 학점 계산 (0) | 2019.10.19 |