[level 2] 귤 고르기 - 138476

우하학·2024년 11월 19일

프로그래머스

목록 보기
14/14

일단 먼저 귤을 크기 별로 빈도를 계산 해야지 가장 적게 등장한 크기의 귤을 제외할 수 있다
그래서 처음엔 ...

  • 배열을 set으로 바꾸고
  • set에 있는 개수를 count 함수를 통해서 딕셔너리에 저장

하려고 했으나 ... count 함수가 시간을 너무 많이 잡아 먹어서 시간 초과로 계속된 실패가 되었다 ...

그래서 찾은 방법

  • 딕셔너리에 저장해두고 if 문을 통해서 거기에 있으면 +1
  • 없으면 값을 1로 설정하기

하 진짜 뭔가 쉬우면서 스트레스 받으면서 풀었다
파이썬 버릴까 그냥 자바로 할까
미치겠네;

# 귤 크기 별로 빈도를 계산해야 함 -> ok
# 빈도를 내림차순으로 정렬 해야 함 ->

def solution(k, tangerine):
    tan = {}
    for t in tangerine:
        if t in tan : #값 추가
            tan[t]+=1
        else : #생성
            tan[t]=1
    tan_re = sorted(tan.values(), reverse=True)
    kind = 0
    cnt = 0
    for i in tan_re:
        kind+=1
        cnt+=i
        if cnt >= k:
          break
    return kind
profile
코린이 탈출기

0개의 댓글