๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/2553)
<๋ง์ง๋ง ํฉํ ๋ฆฌ์ผ ์>
๋ฌธ์
N! ์ ๊ฐ์ ๊ณ์ฐํ ํ์, 0์ด ์๋ ๊ฐ์ฅ ๋ฎ์ ์๋ฆฌ ์๋ฅผ ๊ตฌํ์์ค.
์๋ฅผ ๋ค์ด, 4! = 24 ์ด๊ธฐ ๋๋ฌธ์, 0์ด ์๋ ๊ฐ์ฅ ๋ฎ์ ์๋ฆฌ ์๋ 4์ด๋ค. ๋, 5! = 120์ด๊ธฐ ๋๋ฌธ์, 0์ด ์๋ ๊ฐ์ฅ ๋ฎ์ ์๋ฆฌ ์๋ 2์ด๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. N์ 20,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ N! ์ 0์ด ์๋ ๋ง์ง๋ง ์๋ฆฌ์๋ฅผ ์ถ๋ ฅํ๋ค.
๋ฌธ์ ํ์ด
- my solution
if __name__=='__main__':
n=int(input())
result=1
for i in range(2,n+1): # N! ๊ณ์ฐ
result*=i
result=str(result)[::-1] # ๋ค์ง๊ธฐ
for i in result: # 0์ด ์๋ ๊ฐ์ฅ ๋ฎ์ ์๋ฆฌ ์ ์ถ๋ ฅ
if i!='0':
print(i)
break
- N ์ ๋ ฅ
- N! ๊ณ์ฐ
- 0์ด ์๋ ๊ฐ์ฅ ๋ฎ์ ์๋ฆฌ ์๋ฅผ ๊ตฌํ๊ธฐ ์ํด N! ๊ฐ ๋ค์ง๊ธฐ
- ๋ฐ๋ณต๋ฌธ์ ํตํด 0์ด ์๋๋ฉด ์ถ๋ ฅ ํ break
์๊ฐ๐ค
๋ค๋ฅธ ๋ฌธ์ ํ๋ค๊ฐ ์ด๋ ค์์ ๋๋ง ์๋ค...
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 4889_์์ ์ ์ธ ๋ฌธ์์ด (0) | 2022.03.18 |
---|---|
[Baekjoon] 1850_์ต๋๊ณต์ฝ์ (0) | 2022.03.17 |
[Baekjoon] 9465_์คํฐ์ปค (0) | 2022.03.15 |
[Baekjoon] 2644_์ด์๊ณ์ฐ (0) | 2022.03.14 |
[Baekjoon] 11725_ํธ๋ฆฌ์ ๋ถ๋ชจ ์ฐพ๊ธฐ (0) | 2022.03.11 |