프로그래머스 명예의 전당(1) 파이썬

안상철·2023년 5월 21일
0

문제링크

def solution(k, score):
    answer = []
    
    # 방문 한 점수 배열
    visited = []
    
    # 받은 점수를 완전탐색
    for s in score:
    
    	# 우선 점수를 방문 배열에 넣고
        visited.append(s)
        
        # 만약 방문 배열의 갯수가 명예의 전당 점수 갯수보다 작거나 같으면
        if len(visited) <= k:
        	# 방문 배열에 점수를 그냥 추가
            answer.append(min(visited))
            
        # 방문 배열이 점수 갯수보다 크면
        else:
        	# 점수 비교를 위해서 방문 배열 중 가장 작은 수를 꺼내서
            cur_node = min(visited)
            
            # 방문 배열을 완전탐색
            for i, v in enumerate(visited):
            	# 탐색 중 가장 작은 점수가 현재 점수 == 위에서 넣은 s와 같으면
                if cur_node == v:
                
                	# 방문 배열 중 같은 점수를 삭제하고
                    del visited[i]
                    
                    # 답안에 방문 배열 중 가장 작은 수를 추가하고 넘어가기
                    answer.append(min(visited))
                    break
                    
    return answer
profile
웹 개발자(FE / BE) anna입니다.

0개의 댓글