title: "[프로그래머스] N으로 표현 Python 파이썬 해설 (Level 3) - 이도훈"
cleanUrl: "programmers/42895"
description: "프로그래머스 Level 3 문제 [N으로 표현]의 풀이를 정리합니다."
import itertools
def solution(N, number):
# S[i] = N을 i개 써서 만들 수 있는 수의 집합
S = [set() for _ in range(9)]
for i in range(1, 9):
nums = S[i]
# N을 이어붙인 수
nums.add(int(str(N) * i))
for j in range(1, i):
for x, y in itertools.product(S[j], S[i - j]):
nums.add(x + y)
nums.add(x - y)
nums.add(x * y)
if y != 0:
nums.add(x // y)
if number in nums:
return i
return -1
프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges