1. ๋ฌธ์ ์ค๋ช
- ์ ๋ ฅ : 5, [2, 1, 2, 6, 2, 4, 3, 3]
- ์ถ๋ ฅ : [3,4,2,1,5] ์คํจ์จ์ด ๋์ ์คํ ์ด์ง์์ผ๋ก ์ถ๋ ฅ
2. ์ฝ๋
solution1.py
def fail_percent(target_stage, stages):
check = 0 #์ฒ์ ๋ฑ์ฅํ๋์ง ํ์ธ
denominator = 0 #๋ถ๋ชจ๊ฐ
numerator = 0 #๋ถ์๊ฐ
for i,number in enumerate(stages):
if number == target_stage: #ํ๊ฒ ์คํ
์ด์ง์ ๊ฐ๊ณผ ๊ฐ์ ๊ฐ์ด ๋์ค๊ณ
if check==0: #์ด์ ์ ๋์จ์ ์ด ์๋ค๋ฉด
denominator = len(stages[i:]) #ํด๋น ๊ฐ ์ดํ๋ก ๋ช ๊ฐ๊ฐ ์๋์ง ํ์ธ
check+=1
numerator+=1
else:
numerator+=1
if denominator !=0:
return count / denominator
else:
return 0
def solution(N, stages):
answer = []
stages.sort() #์คํ
์ด์ง๋ฅผ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
storage = {} #๊ฐ ์คํ
์ด์ง๋ณ ์คํจ์จ์ ์ ์ฅํ ๋์
๋๋ฆฌ
for i in range(N):
#์คํ
์ด์ง(key)๋ณ ์คํจ์จ(value)์ ์ ์ฅ
storage[i+1] = fail_percent(i+1,stages)
#value ๊ธฐ์ค์ผ๋ก key๋ฅผ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
answer = sorted(storage, key= lambda x : storage[x], reverse=True)
return answer
3. ํ๊ณ
- value ๊ธฐ์ค์ผ๋ก key๋ฅผ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ๋ ์ฝ๋๋ฅผ ์ฐพ์๋ดค๋ค.
- ๋ฐ๋ก ๋ฆฌ์คํธ๋ฅผ ๋ฐํํด์ฃผ์ด ๋์ค์๋ ์ฌ์ฉํ๊ธฐ ์ ์ฉํ ๊ฒ ๊ฐ๋ค.
'Algorithm > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ์์ถ (Python) (0) | 2022.01.04 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ํคํจ๋ ๋๋ฅด๊ธฐ (Python) (0) | 2022.01.03 |
[ํ๋ก๊ทธ๋๋จธ์ค] [1์ฐจ] ๋น๋ฐ์ง๋ (Python) (0) | 2022.01.02 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด (Python) (0) | 2021.12.26 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์บ์ - Python (0) | 2021.06.23 |