본문 바로가기
코딩 테스트/프로그래머스

명예의 전당 (1)

by ornni 2024. 3. 27.
728x90
반응형

첫번째 코드

 

정답을 리스트에 넣어 sorting을 진행하면 가장 마지막 원소가 가장 작은 값이겠지?

그러면 해당 값만 삭제하고 마지막값을 출력하면 그게 가장 작은 값일꺼다.

 

근데 k보다 작을때는 따로 해야하니까 그냥 따로 작성하자

 

def solution(k, score):
    answer = []
    score_in = []
    
    for i in range(k):
        score_in.append(score[i])
        score_in.sort(reverse = True)
        answer.append(score_in[-1])
    
    for i in range(k, len(score)):
        score_in.append(score[i])
        score_in.sort(reverse = True)
        del score_in[-1]
        answer.append(score_in[-1])
    
    return answer

 

런타임 에러?


두번째 코드

 

for 문을 하나로 합치자!

 

이때 중요한건 처음부터 k 번까지는 다 들어가야하니까

정답의 길이가 k보다 클 때만 마지막 원소를 제거하는 방향으로!

 

def solution(k, score):
    answer = []
    score_in = []

    for i in range(len(score)):
        score_in.append(score[i])
        score_in.sort(reverse = True)
        if len(score_in) > k:
            del score_in[-1]
        answer.append(score_in[-1])
    
    return answer

 

처음에 range 부분에 k를 넣고 오류가 떠서...응? 했는데

디버깅으로 확인한 결과...나는 멍청이였어...score 만큼 해야지 score의 모든 리스트가 들어가지!

 

통과!


링크

https://github.com/ornni/programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/138477.%E2%80%85%EB%AA%85%EC%98%88%EC%9D%98%E2%80%85%EC%A0%84%EB%8B%B9%E2%80%85%EF%BC%881%EF%BC%89

 

programmers/프로그래머스/1/138477. 명예의 전당 (1) at main · ornni/programmers

repository for recording Programmers Algorithm problem solving - ornni/programmers

github.com

 

반응형

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

콜라츠 추측  (0) 2024.04.01
콜라 문제  (2) 2024.03.31
부족한 금액 계산하기  (1) 2024.03.30
핸드폰 번호 가리기  (0) 2024.03.29
과일 장수  (0) 2024.03.25