Input
첫째 줄에 N, K의 원소의 개수가 공백을 기준으로 구분되어 자연수로 주어진다. (10 ≤ N ≤ 100,000,000, 1 ≤ K의 원소의 개수 ≤ 3)
둘째 줄에 K의 원소들이 공백을 기준으로 구분되어 주어진다. 각 원소는 1부터 9까지의 자연수다.
단, 항상 K의 원소로만 구성된 N보다 작거나 같은 자연수를 만들 수 있는 경우만 입력으로 주어진다.
1 | import sys |
Brute Force
주어진 범위 내의 수를 하나씩 체크
가장 큰 수를 찾으면 출력하고 프로그램 종료
N보다 작거나 같은
1
2for i in range(n, 0, -1):
ret = i주어진 숫자의 모든 자리수가 주어진
k
에 존재해야 함1
2
3
4while ret > 0:
if ret % 10 in s:
ret //= 10
else: break조건을 만족시킬 경우 외에는
ret
가 0이 될 수 없음1
2
3if ret == 0:
print(i)
exit(0)