Notice
														
												
											
												
												
													Recent Posts
													
											
												
												
													Recent Comments
													
											
												
												
													Link
													
											
									| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 | 
| 12 | 13 | 14 | 15 | 16 | 17 | 18 | 
| 19 | 20 | 21 | 22 | 23 | 24 | 25 | 
| 26 | 27 | 28 | 29 | 30 | 31 | 
													Tags
													
											
												
												- MySQL
- ABC Analysis
- ProfileReport
- 신경쓰기의 기술
- pandas profiling
- HackerRank
- Gaimification
- oracle
- leetcode
- SKU Consolidation
- 데이터분석
- 피그마인디언
- TensorFlowGPU
- kaggle
- ModelCheckPoint
- 웨어하우스 보관 최적화
- Labor Management System
- 코딩테스트
- Inventory Optimization
- eda
- 딥러닝
- MS SQL Server
- 당신의 인생이 왜 힘들지 않아야 한다고 생각하십니까
- SQL
- 프로그래머스
- forecast
- 파이썬
- 코딩테스트연습
- tensorflow
- Product Demand
													Archives
													
											
												
												- Today
- Total
오늘도 배운다
명예의 전당 (1) / 프로그래머스, 파이썬 본문
문제
"명예의 전당"이라는 TV 프로그램에서는 매일 1명의 가수가 노래를 부르고, 시청자들의 문자 투표수로 가수에게 점수를 부여합니다. 매일 출연한 가수의 점수가 지금까지 출연 가수들의 점수 중 상위 k번째 이내이면 해당 가수의 점수를 명예의 전당이라는 목록에 올려 기념합니다. 즉 프로그램 시작 이후 초기에 k일까지는 모든 출연 가수의 점수가 명예의 전당에 오르게 됩니다. k일 다음부터는 출연 가수의 점수가 기존의 명예의 전당 목록의 k번째 순위의 가수 점수보다 더 높으면, 출연 가수의 점수가 명예의 전당에 오르게 되고 기존의 k번째 순위의 점수는 명예의 전당에서 내려오게 됩니다.
이 프로그램에서는 매일 "명예의 전당"의 최하위 점수를 발표합니다. 예를 들어, k = 3이고, 7일 동안 진행된 가수의 점수가 [10, 100, 20, 150, 1, 100, 200]이라면, 명예의 전당에서 발표된 점수는 아래의 그림과 같이 [10, 10, 10, 20, 20, 100, 100]입니다.
명예의 전당 목록의 점수의 개수 k, 1일부터 마지막 날까지 출연한 가수들의 점수인 score가 주어졌을 때, 매일 발표된 명예의 전당의 최하위 점수를 return하는 solution 함수를 완성해주세요.

제출답안
def solution(k, score):
    answer = []
    ls_score = []
    min_score = 10001 # 3<=k<=1000
    # 새로운 도전자 > 탈락자 발생 > 현재 명예의 전당 최저점수
    for i, s in enumerate(score):
        if i < k: # 명예의 전당이 다 차기 전 >> 명예의전당 채우기, 최소값 추적하기
            ls_score.append(s) #명예의 전당 등록 
            min_score = s if s < min_score else min_score #명예의전당 최소값 업데이트
        else: # 명예의 전당이 다 찬 경우
            if s > min_score: # 신규 참가자가 명예의 전당에 들어갈 경우
                ls_score.remove(min_score)
                ls_score.append(s)
                min_score = min(ls_score)
        answer.append(min_score)
    return answer

문제 바로가기
728x90
    
    
  '코딩테스트연습(파이썬)' 카테고리의 다른 글
| 자릿수 더하기 / 프로그래머스, 파이썬 코딩테스트 연습 연습문제 (0) | 2022.12.18 | 
|---|---|
| 모의고사 / 프로그래머스, 파이썬, 코딩테스트 연습 (0) | 2022.12.18 | 
| 기사단원의 무기 / 프로그래머스, 파이썬 (0) | 2022.12.16 | 
| 나머지가 1이 되는 수 찾기 / 프로그래머스, 파이썬 (0) | 2022.12.15 | 
| 성격 유형 검사하기 / 프로그래머스, 파이썬 코딩테스트 연습 2022 KAKAO TECH INTERNSHIP (0) | 2022.12.14 | 
			  Comments
			
		
	
               
           
					
					
					
					
					
					
				 
								 
								 
								