-
[프로그래머스] 귤 고르기알고리즘 2023. 7. 13. 13:52728x90
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/138476
2. 접근
1. 나는 dict() 을 통해서 귤의 크기에 따라서 개수를 내림 차순 정렬을 하고 k랑 cnt의 개수를 비교해서 ans를 구했다
: dict() -> 내림차순 정렬 -> value값 만큼 cnt를 증가시켜서 k랑 비교 -> ans 도출
2. Counter() 라는 메소드를 사용하면 dict() 없이도 가능하다,,,
3. 풀이
# dict()을 사용한 방법 def solution(k, t): cnt = 0 ans = 0 dic = {} for i in t: if i not in dic: dic[i] = 1 else: dic[i] += 1 sorted_dic = sorted(dic.items(), key=lambda x: x[1], reverse=True) for i in sorted_dic: cnt += i[1] ans += 1 if cnt >= k: break return ans # dict()을 쓰지 않고 Counter() 사용해서 풀기 import collections def solution(k, tangerine): answer = 0 cnt = collections.Counter(tangerine) for v in sorted(cnt.values(), reverse = True): k -= v answer += 1 if k <= 0: break return answer
'알고리즘' 카테고리의 다른 글
[프로그래머스] 이진 변환 반복하기 (0) 2023.07.17 [프로그래머스] 롤케이크 자르기 (0) 2023.07.13 [프로그래머스] 예상 대진표 (0) 2023.07.12 [프로그래머스] 점 찍기 (0) 2023.07.11 [프로그래머스] n^2 배열 자르기 (0) 2023.07.11