[프로그래머스] - N으로 표현 (Python)

Moveheon·2023년 11월 26일

프로그래머스

목록 보기
23/24
def calculate_n(X, Y):
    n_set = set()
    for x in X:
        for y in Y:            
            n_set.add(x + y)
            n_set.add(x - y)
            n_set.add(x * y)
            if y != 0:
                n_set.add(x // y)

    return n_set

def solution(N, number):
    answer = -1
    result = {}
    result[1] = {N}
    if number == N:
        return 1
    for n in range(2, 9):
        temp_set = {int(str(N)*n)}
        for i in range(1, n):
            temp_set.update(calculate_n(result[i], result[n - i]))
        if number in temp_set:
            answer = n
            break
        result[n] = temp_set

    return answer

0개의 댓글