Skip to content

Latest commit

 

History

History
32 lines (27 loc) · 766 Bytes

File metadata and controls

32 lines (27 loc) · 766 Bytes

백준 18511번 큰 수 구성하기

145501


소스코드

  • 메모리 : 29200 KB
  • 시간 : 76 ms
def find_max(digit, num):
    global maximum
    if digit == len(str(n)):
        if not '0' in str(num):
            maximum = max(maximum, num)
        return
    for i in range(k):
        temp = lst[i]*(10**(len(str(n))-digit-1)) + num
        if temp <= n:
            find_max(digit+1, temp)
        else:
            find_max(digit+1, num)
    
n, k = map(int, input().split())
lst = list(map(int, input().split()))
maximum = 0
find_max(0,0)
print(maximum)