아래와 같이 5와 사칙연산만으로 12를 표현할 수 있습니다.
5를 사용한 횟수는 각각 6,5,4 입니다. 그리고 이중 가장 작은 경우는 4입니다.
이처럼 숫자 N과 number가 주어질 때, N과 사칙연산만 사용해서 표현 할 수 있는 방법 중 N 사용횟수의 최솟값을 return 하도록 solution 함수를 작성하세요.
def solution(N, number):
if N == number:
return 1
answer = [[]]+ [[int(str(N)*i)] for i in range(1,9)]
for i in range(2,9):
for j in range(1,i):
for k in answer[j]:
for l in answer[i-j]:
answer[i].append(k+l)
answer[i].append(max(k,l) - min(k,l))
answer[i].append(k*l)
if l != 0:
answer[i].append(k//l)
if number in answer[i]:
return i
answer[i] = list(set(answer[i]))
return -1