[프로그래머스] 귤 고르기(연습문제) - Lv2

    https://school.programmers.co.kr/learn/courses/30/lessons/138476?language=python3 

     

    프로그래머스

    코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

    programmers.co.kr

    생각을 좀만 하면되는 문제. 그리 어렵지 않았음 ㅎㅎ

     

    풀이

    def solution(k, tangerine):
        answer = 0
        dic_tangerine = {}
        
        for i in range(len(tangerine)):
            if tangerine[i] in dic_tangerine:
                dic_tangerine[tangerine[i]] += 1
            else:
                dic_tangerine[tangerine[i]] = 1
        
        tangerine_values = list(dic_tangerine.values())
        tangerine_values.sort(reverse=True)
        
        count = 0
        for i in range(len(tangerine_values)):
            count += tangerine_values[i]
            if count >= k:
                return i + 1
        
        
        return answer

     

     

    해설

    크기에 따른 귤 갯수를 새고 제일 많은 순으로 정렬한 다음 문제에 제시한 귤갯수가 넘을때까지 카운트하기만 하면된다.

     

    댓글