티스토리 뷰
입력받은 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 |
댓글