티스토리 뷰
입력받은 plays와 genres를 튜플 형태로 변환해 ipt에 저장한다.
collections.Counter()를 사용해 장르별로 실행된 횟수를 저장한다.
많이 재생된 장르 순서대로 plays와 genres를 튜플 형태로 저장한 st를 생성한다.
st는 plays를 기준으로 해 내림차순으로 정렬하고 최대 2개까지 lst에 저장한다.
lst에 저장된 튜플 값을 순서대로 ipt에서 찾아 위치값을 ans에 저장한다.
이미 ans에 위치값이 존재할 때는 그 위치값에서 1을 더해 다시 찾아 저장한다.
문제풀이
import collections
from operator import itemgetter
def solution(genres, plays):
ipt = [i for i in zip(plays,genres)]
genre = collections.Counter()
lst = list()
ans = list()
for g, p in zip(genres,plays):
genre += collections.Counter({g : p})
for t,x in sorted(genre.items(), key = itemgetter(1), reverse = True):
st = []
for p, g in zip(plays, genres):
if g == t:
st.append((p,g))
st = sorted(st, reverse=True)
if len(st) >= 2:
lst += st[0:2]
else:
lst += st
for i in range(0,len(lst)):
if ipt.index(lst[i]) in ans:
ans.append(ipt.index(lst[i],ipt.index(lst[i])+1))
else:
ans.append(ipt.index(lst[i]))
return ans'문제 풀이 > Programmers' 카테고리의 다른 글
| [python3][level 2] 프린터 (0) | 2019.04.07 |
|---|---|
| [python3][level 2] 쇠막대기 (0) | 2019.04.05 |
| [python3][level 3] 타일 장식물 (0) | 2019.03.29 |
| [python3][level 2] 위장 (0) | 2019.03.28 |
| [python3][level 2] 전화번호 목록 (0) | 2019.03.27 |
댓글