[Programmers] μ‹€νŒ¨μœ¨

Updated:

μ™„μ£Όν•˜μ§€ λͺ»ν•œ μ„ μˆ˜

μ‹€νŒ¨μœ¨ 을 ν΄λ¦­ν•˜λ©΄ λ°”λ‘œ μ΄λ™ν•œλ‹€.

λ¬Έμ œμ—μ„œ μ„€λͺ…ν•΄μ£ΌλŠ” μ‹€νŒ¨μœ¨μ„ 더 μ™€λ‹Ώκ²Œ μ •μ˜ν•΄λ³΄μžλ©΄

μ‹€νŒ¨μœ¨ = nth Stage에 μžˆλŠ” μ‚¬λžŒ 수 / nth Stage 이상에 μžˆλŠ” μ‚¬λžŒ 수 라고 ν•  수 μžˆλ‹€.

return ν•΄μ•Ό ν•  값은 μ‹€νŒ¨μœ¨μ„ κΈ°μ€€μœΌλ‘œ stage λ₯Ό λ‚΄λ¦Όμ°¨μˆœ μ •λ ¬ν•˜μ—¬ 좜λ ₯ν•˜λ©΄ λœλ‹€.

μ‹€νŒ¨μœ¨μ΄ 같을 경우 μž‘μ€ stage λ¨Όμ € 였면 λœλ‹€ !

μš°μ„  dict 에 key 값은 stage, value 값은 μ‹€νŒ¨μœ¨λ‘œ μ €μž₯을 ν•œ ν›„ value 값을 κΈ°μ€€μœΌλ‘œ λ‚΄λ¦Όμ°¨μˆœ 정렬을 ν–ˆλ‹€.

import operator

def solution(N, stages):
	answer = []
	temp = dict()

	for i in range(N):
		curStage = 0
		overStage = 0

		for j in stages:
			if i+1 == j:
				curStage += 1
			
			if i+1 <= j:
				overStage += 1

		if curStage == 0 or overStage == 0:
			temp[i+1] = 0
		else:
			temp[i+1] = curStage / overStage
		
	sTemp = sorted(temp.items(), key=operator.itemgetter(1), reverse=True)
	
	for cur in sTemp:
		answer.append(cur[0])

	return answer

아직 λ‹€λ₯Έ μ‚¬λžŒμ˜ ν’€μ΄λŠ” 보지 μ•Šμ•˜λŠ”λ° λ”± 봐도 κ°„λ‹¨ν•˜κ³  짧은 μ½”λ“œκ°€ μ—„μ²­ λ§Žμ•˜λ‹€..

μ–Όλ₯Έ κ°€μ„œ λ°°μ›Œμ•Όκ² λ‹€!


Categories:

Updated:

Leave a comment