๐งฎ PS
๋ฐฑ์ค (boj) Python - 18511 ๋ฒ : ํฐ ์ ๊ตฌ์ฑํ๊ธฐ
Newmon
2020. 5. 9. 18:36
๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/18511
* ์๊ฐ
์ต๋ 8์๋ฆฌ์์ 3๊ฐ์ง ์์๊ฐ ๋ค์ด๊ฐ ์ ์๋ค. - ์์ด์ด์ง๋ง ์ค๋ณต์ด ํ์ฉ๋๋ค.
๋ฐ๋ผ์ itertools-product๋ฅผ ์ฌ์ฉํ๋ค.
์ฃผ์ํ ์ : ๋ง์ฝ N = 1938์ด๊ณ ๋ฐฐ์ด์ {8,9,7}์ด๋ผ๊ณ ํ๋ฉด ์ถ๋ ฅํด์ผ ๋ ์๋ 999๋ก
์๋ฆฟ์๊ฐ ๋ค๋ฅด๋ค. ์ด๋ถ๋ถ์ ์ฃผ์ํด์ ์ฝ๋๋ฅผ ์์ฑํด์ผํ๋ค. ์๋ ์ฝ๋์์๋ length๋ฅผ 1์ฉ ๊น์์ฃผ๋ฉด์ ๋ฐ๋ณตํ๋๋ก ์์ฑ
ํ๋ค.
* itertools-product ํฌ์คํ
https://infinitt.tistory.com/114
*์ ๋ต ์ฝ๋ (Python)
from itertools import product
N,K = map(int,input().split())
arr = list(map(str,input().split()))
length = len(str(N))
while(True):
temp = list(product( arr, repeat=length))
answer = []
for i in temp :
if int("".join(i)) <= N :
answer.append(int("".join(i)))
if len(answer)>= 1:
print(max(answer))
break
else :
length -=1