728x90
반응형
1. 문제 설명
2. 풀이과정
- 각 크기별 개수를 저장할 딕셔너리를 생성한다. d = {}
- 입력받은 귤을 하나씩 추출한다. for i in tangerine
- 만약 이미 딕셔너리에 해당 크기가 존재하면 개수에 1을 더한다. if (i in d): d[i] += 1
- 반면에 해당 크기가 처음 나왔으면 개수를 1로 하여 추가한다. else: d[i] = 1
- 전체 귤의 개수를 크기별로 모두 세었다면 해당 딕셔너리를 개수(value)를 기준으로 내림차순 정렬한다. 개수가 많은 값부터 귤을 추가해야 최소한의 종류로 판매할 수 있다. d = sorted(d.items(), key = lambda x: x[1], reverse = True)
- 내림차순 정렬한 딕셔너리를 앞에서부터 하나씩 추출한다. for i in d
- 판매할 귤의 개수에서 추출한 귤의 개수를 빼준다. k -= i[1]
- 크기 종류가 추가되었으므로 결과에 1을 더한다. answer += 1
- 만약 판매할 귤의 개수가 남지 않았다면 종료한다. if (k <= 0): break
반응형
3. 소스코드
def solution(k, tangerine):
answer = 0
d = {}
for i in tangerine:
if (i in d):
d[i] += 1
else:
d[i] = 1
d = sorted(d.items(), key = lambda x: x[1], reverse = True)
for i in d:
k -= i[1]
answer += 1
if (k <= 0):
break
return answer
728x90
반응형
'프로그래머스 > Python' 카테고리의 다른 글
[프로그래머스] H-Index - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.16 |
---|---|
[프로그래머스] 연속 부분 수열 합의 개수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.16 |
[프로그래머스] 2016년 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.16 |
[프로그래머스] 괄호 회전하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.14 |
[프로그래머스] 추억 점수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.14 |
[프로그래머스] 콜라 문제 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.14 |
[프로그래머스] 멀리 뛰기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.14 |
[프로그래머스] 가장 가까운 같은 글자 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.12 |