๋ฌธ์ ์ค๋ช
: H-Index๋ ๊ณผํ์์ ์์ฐ์ฑ๊ณผ ์ํฅ๋ ฅ์ ๋ํ๋ด๋ ์งํ์ ๋๋ค. ์ด๋ ๊ณผํ์์ H-Index๋ฅผ ๋ํ๋ด๋ ๊ฐ์ธ h๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค. ์ํค๋ฐฑ๊ณผ์ ๋ฐ๋ฅด๋ฉด, H-Index๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํฉ๋๋ค. ์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ nํธ ์ค, h๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ด hํธ ์ด์์ด๊ณ ๋๋จธ์ง ๋ ผ๋ฌธ์ด h๋ฒ ์ดํ ์ธ์ฉ๋์๋ค๋ฉด h์ ์ต๋๊ฐ์ด ์ด ๊ณผํ์์ H-Index์ ๋๋ค. ์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ์ ์ธ์ฉ ํ์๋ฅผ ๋ด์ ๋ฐฐ์ด citations๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด ๊ณผํ์์ H-Index๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑ
๋ฌธ์ ํ์ด
: i ๋ณด๋ค ํฐ ๋ ผ๋ฌธ์ ๊ฐ์๋ฅผ ์ธ์ i์ ๊ฐ๊ฑฐ๋ ๋ ํฌ๋ฉด i๋ฅผ ๋ฆฌํด
- ์ฐ์ sort๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ฌ์ ํด์ฃผ๊ณ
- if citations[i] >= article_count-i๋ ์ฃผ์ด์ง h๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ด hํธ ์ด์์ด๋ผ๋ ์กฐ๊ฑด๊ณผ
- citations[i]๋ i๋ฒ ๋ ผ๋ฌธ์ด ์ธ์ฉ๋ ํ์์ด๊ณ
- article_count-i๋ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ ๊ฐ์๋ฅผ ์ต๋๊ฐ๋ถํฐ ํ๋์ฉ ์ค์ฌ๋๊ฐ ๊ฒ(์ต๋๊ฐ์ ์ฐพ์์ผ ํ๋ฏ๋ก ๊ฐ์ฅ ํฐ ๊ฐ๋ถํฐ ์์ํ๋ค.)
- ๊ทธ๋ฆฌ๊ณ ๋ฆฌ์คํธ๋ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ๋ ์ํ์ด๋ฏ๋ก i๋ฒ์งธ ์ดํ๋ ๋ชจ๋ i๋ฒ์งธ๋ณด๋ค ํฐ ๊ฐ์ ๊ฐ์ง ๊ฒ
# solution
def solution(citations):
citations.sort()
article_count = len(citations)
for i in range(article_count):
if citations[i] >= article_count-i:
return article_count-i
return 0
# ๋ค๋ฅธ ์ฌ๋ ํ์ด
euumerate์ start๋ฅผ ์ด์ฉํด์ ํ์ฌ ์์ ๋ณด๋ค ํฐ ์๊ฐ ๋ช๊ฐ ์๋์ง ํ๋ณ
- sort๋ก ์ ๋ ฌํด์ ๊ฐ์ฅ ํฐ๊ฐ๋ถํฐ ์์๊ฐ์ผ๋ก ์ ๋ ฌ
- enumerate๋ก (index, value)ํํ๋ก ๋ฌถ๋๋ค.
- ์ต๋๊ฐ(start = 1)๋ถํฐ ๊ฐ value์ ๋ํด ์ต์๊ฐ value์ ๊ฐ์ min์ผ๋ก ์ถ์ถํ๊ณ
- ์ด ์ถ์ถ๋ ๊ฐ์ enumerate๊ฐ ๋๋๋ citations ๋ฆฌ์คํธ์ ํฌ๊ธฐ์ ํด๋นํ๋ ๊ฐฏ์๊ฐ ๋์จ๋ค.
- ์ด๋ค์ map์ผ๋ก ๋ฌถ์ผ๋ฉด, ํ value์ ์ ์ฅ์์ ๋ณด๋ ์ต์๊ฐ value์ ์งํฉ์ด ๋์จ๋ค. ์ฆ h๊ฐ๋ค์ ์งํฉ์ด๋์จ๋ค.
- h๊ฐ์ค ์ต๋๊ฐ์ max๋ก ๋ฝ์์ ์ถ๋ ฅ
def solution(citations):
citations.sort(reverse=True)
answer = max(map(min, enumerate(citations, start=1)))
return answer
https://programmers.co.kr/learn/courses/30/lessons/42747
์ฝ๋ฉํ ์คํธ ์ฐ์ต - H-Index
H-Index๋ ๊ณผํ์์ ์์ฐ์ฑ๊ณผ ์ํฅ๋ ฅ์ ๋ํ๋ด๋ ์งํ์ ๋๋ค. ์ด๋ ๊ณผํ์์ H-Index๋ฅผ ๋ํ๋ด๋ ๊ฐ์ธ h๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค. ์ํค๋ฐฑ๊ณผ1์ ๋ฐ๋ฅด๋ฉด, H-Index๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํฉ๋๋ค. ์ด๋ค ๊ณผํ์๊ฐ ๋ฐํ
programmers.co.kr
'๐ค ์ฝ๋ฉํ ์คํธ ์ค๋น > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
#ํ๋ก๊ทธ๋๋จธ์ค ํ์ด์ฌ Lv.2 #์ฃผ์๊ฐ๊ฒฉ (0) | 2021.12.16 |
---|---|
#ํ๋ก๊ทธ๋๋จธ์ค ํ์ด์ฌ Lv.2 #๊ดํธ ํ์ ํ๊ธฐ (0) | 2021.12.08 |
#ํ๋ก๊ทธ๋๋จธ์ค ํ์ด์ฌ Lv.2 #์์ฅ (0) | 2021.12.08 |
#ํ๋ก๊ทธ๋๋จธ์ค ํ์ด์ฌ Lv.2 #์ ํ๋ฒํธ ๋ชฉ๋ก(์์ ์ค) (0) | 2021.11.29 |
#ํ๋ก๊ทธ๋๋จธ์ค ํ์ด์ฌ Lv.2 #๊ดํธ ๋ณํ (0) | 2021.11.22 |