Search

๊ฐ•๋™์—ฐ

2.๋ฌธ์ œ์ด๋ฆ„
3. ์ˆ˜ํ–‰์‹œ๊ฐ„[์ดˆ(s)]
15000
์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ
์ข‹์•„์š” ์ˆ˜
: 0
5 more properties
| ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ
def solution(genres, plays): answer = [] dic = {} for i,(g,p) in enumerate(zip(genres, plays)): if g in dic: dic[g].append([p,i]) dic[g][0] += p else: dic[g] = [p, [p,i]] dic = sorted(dic.items(), key=lambda item : item[1][0], reverse=True) print(dic) for d in dic: tmp = sorted(d[1][1:], key=lambda x:(-x[0],x[1])) if len(tmp) < 2: answer.append(tmp[0][1]) else: answer.extend([tmp[0][1], tmp[1][1]]) return answer # print(solution(["classic", "pop", "classic", "classic", "pop"], [500, 600, 150, 800, 2500])) print(solution(["classic", "pop", "classic", "classic", "pop", "test"], [500, 600, 150, 800, 2500, 100])) # print(solution(["classic"], [300]))
Python
๋ณต์‚ฌ
| ์ฝ”๋“œ ์„ค๋ช…ํ•˜๊ธฐ
1.
genres์™€ plays ๋ฐฐ์—ด์„ ๋™์‹œ์— ๋Œ๋ฉด์„œ dic์— โ€˜์žฅ๋ฅดโ€™ : [์ „์ฒด ์žฅ๋ฅด ์žฌ์ƒ๋œ ํšŸ์ˆ˜์˜ ํ•ฉ, [์žฌ์ƒ ํšŸ์ˆ˜, ๊ณ ์œ ๋ฒˆํ˜ธ]] ํ˜•ํƒœ๋กœ ์ €์žฅํ•œ๋‹ค.
2.
์†ํ•œ ๋…ธ๋ž˜๊ฐ€ ๊ฐ€์žฅ ๋งŽ์ด ์žฌ์ƒ๋œ ์žฅ๋ฅด๋ฅผ ๋จผ์ € ์ˆ˜๋กํ•˜๋ฏ€๋กœ ์ „์ฒด ์žฅ๋ฅด ์žฌ์ƒ ํšŸ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ dic์„ ์ •๋ ฌํ•œ๋‹ค.
3.
์ •๋ ฌ๋œ dic๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ ๊ฐ ์žฅ๋ฅด ๋ณ„๋กœ ์ •๋ ฌ์„ ํ•œ๋‹ค.
a.
์žฅ๋ฅด ๋‚ด์—์„œ๋Š” ๋งŽ์ด ์žฌ์ƒ๋œ ๋…ธ๋ž˜ ์ˆœ์œผ๋กœ ๊ทธ๋ฆฌ๊ณ  ์žฌ์ƒํšŸ์ˆ˜๊ฐ€ ๊ฐ™๋‹ค๋ฉด ๊ณ ์œ ๋ฒˆํ˜ธ๊ฐ€ ๋‚ฎ์€ ๋…ธ๋ž˜ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.
b.
๋งŒ์•ฝ ์žฅ๋ฅด ๋‚ด ๋…ธ๋ž˜์˜ ๊ฐœ์ˆ˜๊ฐ€ 1๊ฐœ๋ผ๋ฉด 1๊ฐœ์˜ ๊ณก์„ ์ˆ˜๋กํ•œ๋‹ค.