728x90

테스트 케이스 3개가 실패했다. 차례대로 앞에서 부터 계산을 하려고 해서 실패했고, 반대의 연산 경우도 고려해주어야 했다.

def solution(N, number):
    answer = 1
 
    # 더하기, 빼기, 곱하기, 나누기, 숫자 이어붙이기
 
    temp = [N]
 
    if N==number:
        return 1
 
    while True:
 
        k = [ ]           
 
 
 
        for i in range(0,len(temp)):
            k.append(temp[i]+N)
            k.append(temp[i]-N)
 
 
            k.append(N-temp[i])
 
            k.append(temp[i]*N)
            if temp[i]%N==0:
                k.append(temp[i]//N)
 
            if temp[i]!=0 and N%temp[i]==0:
                k.append(N//temp[i])    
 
            k.append(int(str(temp[i])+str(N)))
 
        answer+=1    
 
        k = list(set(k))
 
        if number in k:
            return answer 
 
        temp = k          
 
 
        if answer>8:
            return -1
 
 
 
 
728x90

+ Recent posts