알고리즘 PS
[Python] 프로그래머스 LV.03 - 최고의 집합
on_doing
2021. 3. 13. 17:52
728x90
programmers.co.kr/learn/courses/30/lessons/12938
코딩테스트 연습 - 최고의 집합
자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 "집합"으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만
programmers.co.kr
[ 알고리즘 ]
구현
[문제 접근]
문제 자체는 어렵지 않으나, 하나씩 다 구해서 최대값 구하면 안되는 문제이고,
아이디어가 딱 떠오르면 풀리는 문제 중 하나이다. 두 수의 차가 적어야 곱이 큰 것만 깨달으면 빠르게 풀어나갈 수 있는 문제
[코드]
def solution(n, s):
answer = []
if n > s: # 존재하지 않는 경우
return [-1]
# 두 수의 차가 적어야함
while n>0:
answer.append(s//n)
s=s-(s//n)
n=n-1
return answer
728x90