https://school.programmers.co.kr/learn/courses/30/lessons/42895

1) 코드
def solution(N, number):
if N == number:
return 1
dp = [set() for _ in range(9)]
for i in range(1, 9):
dp[i].add(int(str(N)*i))
for i in range(1, 9):
for j in range(i):
for x in dp[j]:
for y in dp[i-j]:
dp[i].add(x+y)
dp[i].add(x-y)
dp[i].add(x*y)
if y != 0:
dp[i].add(x // y)
if number in dp[i]:
return i
return -1
2) 해설