프로그래머스 : 2018 카카오 Blind Recruitment 3차 방금 그곡
2021. 10. 23. 01:55ㆍ문제풀기/프로그래머스
https://programmers.co.kr/learn/courses/30/lessons/17683
간단하게 시키는대로 구현을 하고, 정답이 될 수 있는 후보들은 heap에다 넣어놓으면 쉽게 풀 수 있다.
import heapq
def solution(m, musicinfos):
answer = []
for music in range(len(musicinfos)):
start_time,end_time,song_name, plays = musicinfos[music].split(",")
played = ""
start_time = list(map(int,start_time.split(":")))
end_time = list(map(int,end_time.split(":")))
start_time = start_time[0]*60 + start_time[1]
end_time = end_time[0]*60 + end_time[1]
playtime = end_time-start_time
plays_playtime = len(plays) - plays.count("#")
while playtime>=plays_playtime:
played += plays
playtime -= plays_playtime
p_index = 0
for _ in range(playtime):
if plays[p_index+1] == "#":
p_index += 1
p_index += 1
played += plays[:p_index+1]
for i in range(len(played)-len(m)):
temp = played[i:i+len(m)]
if temp == m and played[i+len(m)] != "#":
heapq.heappush(answer,[-(end_time-start_time),music,song_name])
break
if len(answer) == 0:
return "(None)"
else:
now = heapq.heappop(answer)
return now[2]
'문제풀기 > 프로그래머스' 카테고리의 다른 글
프로그래머스 : 2019 카카오 개발자 겨울 인턴십 - 불량 사용자 (0) | 2021.10.23 |
---|---|
프로그래머스 : 2018 KAKAO BLIND RECRUITMENT 1차 캐시 (0) | 2021.10.23 |
프로그래머스 : 영어 끝말잇기 (0) | 2021.10.21 |
프로그래머스 : 2개 이하로 다른 비트 (0) | 2021.10.21 |
프로그래머스 : 섬 연결하기 (0) | 2021.10.19 |