728x90
반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
자연수가 담겨있는 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 함수를 작성해주세요.
예시
예시 설명
예시 #1
주어진 2차원 배열은 문제의 그림과 같습니다. 이때, 네 번째로 작은 수는 11입니다.
코드
def solution(arr, k):
answer = 0
num = []
for i in arr:
for j in i:
num.append(j)
num.sort()
answer = num[k-1]
return answer
풀이
- 2차원 배열 arr : 이중 for문을 활용하여 각 값들을 리스트에 추가
- sort() : 리스트의 값들을 정렬
📌 sort 와 sorted의 차이
- sort() 함수
a = [5, 2, 3, 1, 4]
a.sort()
a
→ [1, 2, 3, 4, 5]
- sorted() 메서드
a = [5, 2, 3, 1, 4]
sorted(a)
→ [1, 2, 3, 4, 5]
a
→ [5, 2, 3, 1, 4]
- list를 변경하려면 .sort() 함수 사용, 새롭게 정렬된 객체를 원하면 .sorted() 메서드를 사용
- list의 경우, .sort() 함수는 복사본을 만들 필요가 없으므로 sorted() 메서드보다 빠름
- sort() 는 리스트 내장함수로 리스트 정렬에만 사용 가능
- sorted() 는 모든 이터러블한 객체에 사용 가능
728x90
반응형
'코딩 테스트 > COS PRO Python 2급' 카테고리의 다른 글
[COS PRO Python 기출 - 1차(구현)] 2. 쇼핑몰 등급별 할인 금액 구하기 (0) | 2022.07.13 |
---|---|
[COS PRO Python 기출 - 1차] 1. 단체 티셔츠를 주문하기 (0) | 2022.07.09 |
[프로그래머스 - COS PRO 파이썬 2급] 9. 거스름돈 (0) | 2022.07.08 |
[프로그래머스 - COS PRO 파이썬 2급] 8. 이름에 "j" 또는 "k"가 들어가는 사람 (0) | 2022.07.08 |
[프로그래머스 - COS PRO 파이썬 2급] 7. 알파벳 바꾸기 (0) | 2022.07.08 |