-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하면 되는 것을 다시 상기하여 해결을 했습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 1789번 수들의 합 (0) | 2022.05.05 |
---|---|
[백준/파이썬] 5568번 카드 놓기 (0) | 2022.05.05 |
[백준/파이썬] 2422번 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 (0) | 2022.05.05 |
[백준/파이썬] 15721번 번데기 (0) | 2022.05.05 |
[백준/파이썬] 18312번 시각 (0) | 2022.05.05 |