반응형
그리 복잡해 보이진 않아서 대충 풀었는데
def solution(k, tangerine):
set_tangerline = set(tangerine)
nums = list(set_tangerline)
counts = []
for i in nums:
counts.append(tangerine.count(i))
print(counts)
counts.sort(reverse=True)
sum = 0
answer = 0
for i in counts:
sum += i
answer +=1
if sum >= k:
break
return answer
이렇게 하니 테스트 34개중에 6개가 시간초과가 났다
GPT를 통해 최적화 해봤따
def solution(k, tangerine):
count_dict = {} # 빈 딕셔너리 생성
for t in tangerine:
if t in count_dict:
count_dict[t] += 1
else:
count_dict[t] = 1
counts = list(count_dict.values()) # 딕셔너리 값만 뽑아 리스트로 변환
counts.sort(reverse=True) # 내림차순 정렬
total = 0
answer = 0
for count in counts:
total += count
answer += 1
if total >= k:
break
return answer
반응형
'개발💻 > 알고리즘' 카테고리의 다른 글
[프로그래머스] N개의 최소공배수 Python (0) | 2025.03.26 |
---|---|
[프로그래머스] 멀리 뛰기 Python (0) | 2025.03.24 |
[프로그래머스] 숫자의 표현 Python (0) | 2025.03.20 |
[프로그래머스] 이진 변환 반복하기 Python (0) | 2025.03.13 |
[프로그래머스] JadenCase 문자열 만들기 Python (0) | 2025.03.12 |