-
[๋ฐฑ์ค] 5692 ํฉํ ๋ฆฌ์ผ ์ง๋ฒ with PythonPS 2023. 4. 3. 16:04728x90๋ฐ์ํ
๐ BOJ 5692 ํฉํ ๋ฆฌ์ผ ์ง๋ฒ
๐ก ์กฐ๊ฑด
ํฉํ ๋ฆฌ์ผ ์ง๋ฒ์์๋ i๋ฒ ์๋ฆฌ์ ๊ฐ์ aiรi!๋ก ๊ณ์ฐํ๋ค.
์ฆ, ํฉํ ๋ฆฌ์ผ ์ง๋ฒ์์ 719๋ 10์ง๋ฒ์์ 53๊ณผ ๊ฐ๋ค. ๊ทธ ์ด์ ๋ 7ร3! + 1ร2! + 9ร1! = 53์ด๊ธฐ ๋๋ฌธ์ด๋ค.
์ ๋ ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ ์คํธ ์ผ์ด์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ธธ์ด๊ฐ ์ต๋ 5์๋ฆฌ์ธ ํฉํ ๋ฆฌ์ผ ์ง๋ฒ ์ซ์๊ฐ ์ฃผ์ด์ง๋ค.
์ ๋ ฅ์ ๋ง์ง๋ง ์ค์๋ 0์ด ํ๋ ์ฃผ์ด์ง๋ค.๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ํด์, ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ํฉํ ๋ฆฌ์ผ ์ง๋ฒ ์ซ์๋ฅผ 10์ง๋ฒ์ผ๋ก ์ฝ์ ๊ฐ์ ์ถ๋ ฅํ๋ค.
์ํ ์ ํ์ ๋ฌธ์
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์ 1
719 1 15 110 102 0
์คํ๊ฒฐ๊ณผ 1
53 1 7 8 8
โจ๏ธ ๋ฌธ์ ํ์ด
์ ๋ ฅ ๋ฐ์ ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋ณ๊ฒฝํ ๋ค, ๊ธธ์ด(l)๋ฅผ ๊ตฌํ๋ค.
์ซ์๋ฅผ ํ์๋ฆฌ์ฉ ์ํํ๋ฉด์(i) i * l! ๋ฅผ ๊ณ์ฐํด ans ์ ๋ํด์ค๋ค.
๐ฅ ์์ค ์ฝ๋
from sys import stdin from math import factorial as fa while 1: n = int(stdin.readline()) if n == 0: break l = len(str(n)) ans = 0 for i in str(n): ans += fa(l) * int(i) l -= 1 print(ans)
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1789 ์๋ค์ ํฉ with Python (0) 2023.04.03 [๋ฐฑ์ค] 10419 ์ง๊ฐ with Python (0) 2023.04.03 [๋ฐฑ์ค] 5988 ํ์์ผ๊น ์ง์์ผ๊น with Python (0) 2023.04.03 [๋ฐฑ์ค] 1676 ํฉํ ๋ฆฌ์ผ 0์ ๊ฐ์ with Python (0) 2023.04.01 [๋ฐฑ์ค] 14469 ์๊ฐ ๊ธธ์ ๊ฑด๋๊ฐ ์ด์ 3 with Python (0) 2023.04.01