본문 바로가기
Develop

오늘의 문제 2) 귤 고르기 - 푸는 중(런타임 에러)

by hyemjjang 2024. 4. 1.

 

https://school.programmers.co.kr/learn/courses/30/lessons/138476

 

프로그래머스

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

programmers.co.kr

 

#1 런타임 에러

def solution(k, tangerine):
    cnt = []
    for i in range(len(tangerine)):
        cnt.append([i,0])
        
    for i in tangerine:
        cnt[i][1] += 1
    
    #cnt[i][1] 순으로 정렬
    cnt.sort(key = lambda x:-x[1])
    
    answer = 0
    tmp = 0
    for i in range(len(cnt)):
        tmp += cnt[i][1]
        answer += 1
        if tmp == k or tmp > k:
            break
            
    return answer

 

#1의 경우 마지막 부분에서 런타임 에러인 것이 아닐까 생각함

 

#2 런타임 에러

def solution(k, tangerine):
    cnt = []
    for i in range(len(tangerine)):
        cnt.append([i,0])
    
    # 사이즈별 개수 [사이즈, 개수]
    for i in tangerine:
        cnt[i][1] += 1
    
    #cnt[i][1] 순으로 정렬
    cnt.sort(key = lambda x:-x[1])
    
    # 개수가 많은 사이즈부터 넣으면
    answer = 0
    for i in range(len(cnt)):
        answer += 1
        k -= cnt[i][1]
        if k <= 0 :
            break
            
    return answer

 

아~~ 계속 난다. 왜일까. 

저 부분이 문제가 아닐지도.

 

-- 참고

런타임 에러가 나는 이유

https://kils-log-of-develop.tistory.com/169

 

백준 주의사항: 왜이틀( 왜 이게 틀리지?) 런타임 에러, 시간 초과

대부분의 언어 입출력이 느리면 그것때문에 시간초과가 날 수 있습니다. 이 문제(링크)를 풀어 봅시다. exit code가 0이 아니면 비정상적인 종료를 의미합니다. C/C++ main의 return 1, 여러 언어의 exit(1)

kils-log-of-develop.tistory.com

https://hyeran-story.tistory.com/63

 

프로그래밍 에러 종류 (컴파일/런타임/논리/링킹/파서 에러)

1. 컴파일 에러 (Compillation Error) 문법 오류로 인해 컴파일러가 이해할 수 없는 코드가 있을 때 발생하는 오류 예) 맞춤법 문장부호(;) 선언되지 않은 변수 사용 2. 런타임 에러 (Runtime Error) 설계 미

hyeran-story.tistory.com

 

----

아예 다른 방법으로 시도해보려고 한다

 

'Develop' 카테고리의 다른 글

오늘의 문제 1) 성격 유형 검사하기  (0) 2024.04.01
1. BFS  (0) 2024.03.25
DFS BFS 내맘대로 풀어보기 (BOJ 1260)  (1) 2024.03.23