문제 설명 및 제한사항
아이디어 및 해결 방법
코드
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
Python
복사
출처
프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges