728x90
시간 초과로 실패했다. while 문을 이용해서 더 쉽게 푸는 방법이 있었는데 생각을 하지 못했다.
from itertools import combinations_with_replacement
def multi(list):
answer = 1
for i in range(0,len(list)):
answer *= list[i]
return answer
def solution(n, s):
k = [ ]
answer = [ ]
if n>s:
return [-1]
for i in range(1,int(s/2)+2):
k.append(i)
a = list(combinations_with_replacement(k,n))
count = 0
for i in range(0,len(a)):
if sum(a[i]) == s and multi(a[i])>count:
answer.append(a[i])
count = multi(a[i])
if len(answer)==0:
return [-1]
return answer[-1]728x90
'🟢 알고리즘 문제 풀이 > Programmers' 카테고리의 다른 글
| [파이썬] 프로그래머스 숫자 게임 (0) | 2023.02.06 |
|---|---|
| [파이썬] 프로그래머스 야근 지수 (0) | 2023.01.30 |
| [파이썬] 프로그래머스 이중우선순위큐 (0) | 2023.01.20 |
| [파이썬] 프로그래머스 정수 삼각형 (0) | 2023.01.20 |
| [파이썬] 프로그래머스 숫자의 표현 (0) | 2023.01.19 |