본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬] 18511번 큰 수 구성하기

by 현장 2022. 5. 5.

-Code

from itertools import product

N, K = map(int, input().split())
nums = list(input().split())
N_len = len(str(N))
nums_c = []
for i in range(1, N_len + 1):
    temp = product(nums, repeat=i)
    for num in temp:
        n = int("".join(num))
        if n <= N:
            nums_c.append(n)
print(max(nums_c))

처음에 중복수열을 만드는 것이 N의 길이에 따라 변하여서 구하기 힘들어서 포기했다가 itertools를 찾게 되어서 손쉽게 해결을 했습니다. 그리고 해당 수열을 int로 합치는 부분에서 다시 막혀서 포기하려다 str로 바꾸고 join하면 되는 것을 다시 상기하여 해결을 했습니다.