프로그래머스 42579. 베스트앨범

2025. 1. 14. 13:49·프로그래머스

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

def solution(genres, plays): # 고유번호가 인덱스인 노래장르 / 각각 재생된 횟수
    
    '''
    plays가 가장 높은 장르먼저
    그중에서도 가장 높은 plays 노래
    그중에서도 재생횟수 같으면 고유번호가 낮은거 
    장르별로 노래 두개씩 고르기
    순서대로 출력
    
    리스트1 = [[전체 플레이 횟수, [재생1위인덱스, 플레이수], [재생2위인덱스, 플레이수]], [...]...]
    리스트2 = [장르명1, 장르명2, 장르명3]
    '''
    genre_info = []
    genre_names = []
    
    for i in range(len(genres)):
        if genres[i] in genre_names:
            idx = genre_names.index(genres[i])
            genre_info[idx][0] += plays[i]
            if genre_info[idx][1][1] < plays[i]:
                
                genre_info[idx][2][0] = genre_info[idx][1][0]
                genre_info[idx][2][1] = genre_info[idx][1][1]
                
                genre_info[idx][1][0] = i
                genre_info[idx][1][1] = plays[i]
                
            elif genre_info[idx][2][0] == -1 or genre_info[idx][2][1] < plays[i]:
                genre_info[idx][2][0] = i
                genre_info[idx][2][1] = plays[i]
        else:
            genre_names.append(genres[i])
            genre_info.append([plays[i], [i, plays[i]],[-1, -1]])
    
    genre_info.sort(key= lambda x: x[0], reverse=True)
    
    answer = []
    for genre in genre_info:
        answer.append(genre[1][0])
        if genre[2][0] != -1:
            answer.append(genre[2][0])

    return answer
저작자표시 (새창열림)

'프로그래머스' 카테고리의 다른 글

프로그래머스 84512. 모음사전  (0) 2025.01.15
프로그래머스 42839. 소수 찾기  (0) 2025.01.14
프로그래머스 42578. 의상  (0) 2025.01.09
프로그래머스 42577. 전화번호 목록  (0) 2025.01.09
프로그래머스 42576. 완주하지 못한 선수  (0) 2025.01.04
'프로그래머스' 카테고리의 다른 글
  • 프로그래머스 84512. 모음사전
  • 프로그래머스 42839. 소수 찾기
  • 프로그래머스 42578. 의상
  • 프로그래머스 42577. 전화번호 목록
버그잡는고양이발
버그잡는고양이발
주니어 개발자입니다!
  • 버그잡는고양이발
    지극히평범한개발블로그
    버그잡는고양이발
  • 전체
    오늘
    어제
    • 분류 전체보기 (382)
      • React (16)
      • Next.js (5)
      • Javascript (5)
      • Typescript (4)
      • Node.js (2)
      • Cs (16)
      • 트러블 슈팅 (5)
      • Html (1)
      • Css (3)
      • Django (0)
      • vue (0)
      • Java (2)
      • Python (0)
      • 독서 (1)
      • 기타 (3)
      • 백준 (192)
      • swea (31)
      • 프로그래머스 (30)
      • 이코테 (4)
      • 99클럽 코테 스터디 (30)
      • ssafy (31)
      • IT기사 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 인기 글

  • 태그

    개발자취업
    항해99
    Til
    99클럽
    코딩테스트준비
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
버그잡는고양이발
프로그래머스 42579. 베스트앨범
상단으로

티스토리툴바