반응형
https://school.programmers.co.kr/learn/courses/30/lessons/138476
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
from collections import Counter
def solution(k, tangerine):
counter = Counter(tangerine)
sorted = counter.most_common()
result = set()
for num, count in sorted:
k -= count
result.add(num)
if k <= 0:
break
return len(result)
Counter 모듈을 사용하여 tangerine 리스트의 저장되어 있는 원소의 개수를 세고 most_common() 함수를 사용하여
원소의 개수를 기준으로 내림차순으로 정렬하였습니다.
예를 들어 [1, 3, 2, 5, 4, 5, 2, 3] 형태로 입력이 들어왔다면
[(3, 2), (2, 2), (5, 2), (1, 1), (4, 1)] 형태로 정렬이 됩니다.
위의 리스트에서 num, count를 꺼내면서 k 에서 count만큼 제거해주며 결과에 해당 num을 담아줍니다.
종료조건으로는 k(귤의 개수)값이 0과 같거나 작다면 종료해줍니다.
result의 길이를 반환하여 문제를 해결합니다.
반응형
'코딩테스트' 카테고리의 다른 글
[코딩테스트] 프로그래머스 보호소에서 중성화한 동물 MySQL (0) | 2022.12.02 |
---|---|
[코딩테스트] 프로그래머스 오랜 기간 보호한 동물(2) MySQL (0) | 2022.12.02 |
[코딩테스트] 프로그래머스 치킨 쿠폰 파이썬(Python) (0) | 2022.12.01 |
[코딩테스트] 프로그래머스 오랜 기간 보호한 동물(1) MySQL (0) | 2022.12.01 |
[코딩테스트] 프로그래머스 재구매가 일어난 상품과 회원 리스트 구하기 MySQL (0) | 2022.11.30 |