본문 바로가기
프로그래머스/Python

[프로그래머스] 명예의 전당(1) - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 7. 18.
728x90
반응형

 

 

프로그래머스

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

programmers.co.kr

 

1. 문제 설명

2. 풀이과정

  1. 명예의 전당에 존재하는 점수를 저장할 리스트를 생성한다. hall = []
  2. 점수를 하나씩 추출하여 for i in score
  3. 만약 명예의 전당에 올라갈 자리가 있으면 점수를 명예의 전당에 올린다. if (len(hall) < k): hall.append(i)
  4. 반면에 명예의 전당의 자리가 다 차있다면 else
  5. 올릴 점수가 명예의 전당에서 가장 낮은 점수보다 큰지 비교한다. 만약 올릴 점수가 더 크면 if (i > min(hall))
  6. 명예의 전당에서 가장 낮은 점수를 제거하고 hall.remove(min(hall))
  7. 새로운 점수를 올린다. hall.append(i)
  8. 명예의 전당에 있는 점수들을 오름차순으로 정렬하고 hall.sort()
  9. 가장 낮은 점수를 발표합니다. answer.append(hall[0])
반응형

3. 소스코드

def solution(k, score):
    answer = []
    
    hall = []
    for i in score:
        if (len(hall) < k):
            hall.append(i)
        else:
            if (i > min(hall)):
                hall.remove(min(hall))
                hall.append(i)
                
        hall.sort()
        answer.append(hall[0])
        
    return answer
728x90
반응형