2021. 1. 21. 23:17ใ๐ Algorithm/๐ช๐ป Python ๋ฌธ์ ํ์ด
๋ฌธ์ ์ค๋ช
H-Index๋ ๊ณผํ์์ ์์ฐ์ฑ๊ณผ ์ํฅ๋ ฅ์ ๋ํ๋ด๋ ์งํ์ ๋๋ค. ์ด๋ ๊ณผํ์์ H-Index๋ฅผ ๋ํ๋ด๋ ๊ฐ์ธ h๋ฅผ ๊ตฌํ๋ ค๊ณ ํฉ๋๋ค. ์ํค๋ฐฑ๊ณผ1์ ๋ฐ๋ฅด๋ฉด, H-Index๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํฉ๋๋ค.
์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ nํธ ์ค, h๋ฒ ์ด์ ์ธ์ฉ๋ ๋ ผ๋ฌธ์ด hํธ ์ด์์ด๊ณ ๋๋จธ์ง ๋ ผ๋ฌธ์ด h๋ฒ ์ดํ ์ธ์ฉ๋์๋ค๋ฉด h์ ์ต๋๊ฐ์ด ์ด ๊ณผํ์์ H-Index์ ๋๋ค.
์ด๋ค ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ์ ์ธ์ฉ ํ์๋ฅผ ๋ด์ ๋ฐฐ์ด citations๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด ๊ณผํ์์ H-Index๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์ฌํญ
- ๊ณผํ์๊ฐ ๋ฐํํ ๋ ผ๋ฌธ์ ์๋ 1ํธ ์ด์ 1,000ํธ ์ดํ์ ๋๋ค.
- ๋ ผ๋ฌธ๋ณ ์ธ์ฉ ํ์๋ 0ํ ์ด์ 10,000ํ ์ดํ์ ๋๋ค.
์ ๋ ฅํ์
์ ์|๋ณด๋์ค|[์ต์
]์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด 3์ธํธ.
์) 1S2D*3T
- ์ ์๋ 0์์ 10 ์ฌ์ด์ ์ ์์ด๋ค.
- ๋ณด๋์ค๋ S, D, T ์ค ํ๋์ด๋ค.
- ์ต์ ์ *์ด๋ # ์ค ํ๋์ด๋ฉฐ, ์์ ์๋ ์๋ค.
์ถ๋ ฅํ์
3๋ฒ์ ๊ธฐํ์์ ์ป์ ์ ์ ํฉ๊ณ์ ํด๋นํ๋ ์ ์๊ฐ์ ์ถ๋ ฅํ๋ค.
์) 37
์ ์ถ๋ ฅ ์์
ํ์ด ๊ณผ์
๋ฌธ์ ๋ฅผ ์ดํดํ๋ ๊ฒ ์ ๋ถ์๋ ๋ฌธ์ ์๋ค. ๊ทธ๋งํผ ๋ฌธ์ ๊ฐ ์ดํดํ๊ธฐ ์ด๋ ค์ ๋ค. H - Index ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ ๋ชจ๋ฅด์๊ฒ ๋ค๋ฉด ?! ์๋ ๊ธ์ ์ฝ์ด๋ณด๊ณ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด๋ฉด ์ฝ๊ฒ ํ์ ์์ ๊ฒ ๊ฐ๋ค.
2๊ฐ์ง ๋ฒ์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ํ์๋ค.
1. ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ค ํ์ด๊ณผ์
def solution(citations):
citations.sort()
for idx , citation in enumerate(citations):
if citation >= len(citations) - idx :
return len(citations) - idx
return 0
2. ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ค ํ์ด๊ณผ์
def solution(citations):
citations.sort(reverse=True)
for idx , citation in enumerate(citations):
if idx >= citation:
return idx
return len(citations)
๊ฐ์ธ์ ์ผ๋ก๋ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ค ํธ๋ ๋ฐฉ๋ฒ์ด ๋ ์ดํดํ๊ธฐ ์ฌ์ด ํ์ด ๋ฐฉ์๊ฐ๋ค.
'๐ Algorithm > ๐ช๐ป Python ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python - ํ๋ก๊ทธ๋๋จธ์ค Level3] N-Queen (0) | 2021.01.23 |
---|---|
[Python - ํ๋ก๊ทธ๋๋จธ์ค Level2] ์นดํซ (0) | 2021.01.21 |
[Python - ํ๋ก๊ทธ๋๋จธ์ค Level4] ๊ฒ์ ๋งต ์ต๋จ ๊ฑฐ๋ฆฌ (0) | 2021.01.21 |