본문 바로가기

프로그래머스 퀴즈(Python)/level 2

23.02.13 파이썬 코딩 퀴즈#154 귤 고르기(프로그래머스 스쿨)

이번 문제는 귤 고르기 문제이다.

귤을 상자에 담을 때 한 상자에 k 만큼의 귤을 담을 수 있다. 이 때, 상자에 담기는 최소한의 크기 종류를 return 해야 한다.

그외 별다른 조건은 없다.

이 문제에서 필요한건 어떤 종류가 몇개 들어갔는지가 아닌, 몇 종류의 귤을 상자에 넣었는가 이다.

먼저 tangerine 을 반복문으로 돌며 귤의 크기와 개수를 정리해준다.

그렇게 뽑아낸 dict에서 정작 필요한 values() 값만 뽑아서 다시 정리한 리스트를 만든다.

(사실 그냥 처음부터 귤 사이즈를 index로 보고 리스트로 만들어도 무방하다. 다만 속도는 dict로 정렬한 뒤 다시 리스트를 만드는게 더 빠르다.)

이제 박스에 한 종류씩 넣어주면서 k 값을 감소시키고, k 가 0 이 되었다면 바로 반복문을 종료해주면 된다.

만약 정렬된 귤이 k보다 더 많다면 해당 종류로 박스를 가득 채울 수 있기 때문에 answer의 값을 1 증가 시켜준 뒤 break로 빠져나오면 된다.