def solution(N, number):
S = []
for i in range(1,9):
S.append(int(str(N)*i))
result = [{} for _ in range(10)]
result[1] = {S[0]}
if N == number:
return 1
for j in range(2,9):
result[j] = {S[j-1]}
for a in range(j):
for x in result[a]:
for y in result[j-a]:
result[j].add(x+y)
result[j].add(x-y)
result[j].add(x*y)
if y != 0:
result[j].add(x//y)
if number in result[j]:
return j
return -1
힌트를 썼다. 어렵다.
x/y
를 추가하는 것과 x//y
를 추가하는 것에 큰 시간 차이가 있었다. number
는 자연수로 주어주기에 x//y 를 추가하지 않아도 괜찮았다.