2022. 12. 30. 23:02ใ๐ฑ Algorithm/Else
https://www.acmicpc.net/problem/1527
๋ธ๋ฃจํธ ํฌ์ค ๋์๊ฐ ์ด์ด ๋๊ธธ๋ permutation ์ผ๋ก ์ฒจ์ ์ ๊ทผํ๋ค.
์ด์ผ ์ ๊ทผํ๋๋ฉด, ์ ๋ ฅ๋ ์์ ๊ธธ์ด ๋งํฐ [4] ์ [7] ๋ฐฐ์ด์ ๋๋ฆผ.
๋๋ฆฐ [4] , [7] ๋ฐฐ์ด์ ํฉ์นจ. -> [4] * len(์ธํ๊ฐ) + [7] * len(์ธํ๊ฐ)
ํฉ์ณ์ง ๋ฐฐ์ด์ permutations ์ ๋ฃ๊ณ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํจ. ๋น์ฐํ ์๊ฐ ์ด๊ณผ๋จ...
๋ถํ์ํ๊ฒ 4 ์ 7 ๋ฐฐ์ด์ ๋๋ ค๋์๊ฒ ์๊ฐ์ด๊ณผ์ ์์ธ์ด์๋ค.
์ด๋ด ๋ product ๋ฅผ ์ฌ์ฉํด๋ณด์ (๋ค๋ฅธ ๋ถ ๋ต ์ฐธ๊ณ ํจ ๐ฅน)
product ์ repeat ์์ฑ์ ์ด์ฉํ๋ฉด ์ ๋ ฅ๊ฐ์ ๊ธธ์ด๋งํผ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ง๋ค์ด ๋ผ ์ ์๊ณ , ์๊ฐ์ด๊ณผ๋ ๋์ง ์๋๋ค.
๊ทธ ํ์ ๊ธฐ์กด์ ์ง ๋ก์ง์ด๋ ๋น์ทํด์ ํต๊ณผํ ์ ์์๋ค.
from itertools import product
a, b = map(int, input().split())
a_len = len(str(a))
b_len = len(str(b))
count = 0
for i in range(a_len, b_len + 1):
for n in product([4, 7], repeat=i):
join = ''.join(list(map(str, n)))
if a <= int(join) <= b:
count += 1
print(count)
'๐ฑ Algorithm > Else' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 1662 ์์ถ ํ์ด์ฌ (0) | 2023.03.01 |
---|---|
๋ฐฑ์ค 2470 ๋ ์ฉ์ก ํ์ด์ฌ (0) | 2023.01.29 |
๋ฐฑ์ค 1895 ํํฐ ํ์ด์ฌ (1) | 2022.12.21 |
๋ฐฑ์ค ์์ด 2559๋ฒ ํ์ด์ฌ (0) | 2022.07.12 |
๋ฐฑ์ค 2346 ํ์ ํฐ๋จ๋ฆฌ๊ธฐ ํ์ด์ฌ (0) | 2022.07.04 |