알고리즘 공부/백준

(Python)백준 코딩테스트 연습 - 최대 곱(1500)

HRuler 2023. 4. 9. 16:29

1. 문제

https://www.acmicpc.net/problem/1500

 

1500번: 최대 곱

세준이는 정수 S와 K가 주어졌을 때, 합이 S인 K개의 양의 정수를 찾으려고 한다. 만약 여러개일 경우 그 곱을 가능한 최대로 하려고 한다. 가능한 최대의 곱을 출력한다. 만약 S=10, K=3이면, 3,3,4는

www.acmicpc.net

2. 풀이

import sys
input = sys.stdin.readline

# s : 수들의 합
# k : 수들의 개수
s, k = map(int, input().split())

# numAvg : 수 평균(정수)
numAvg = s // k
# numRemain : 수 평균 연산 후 나머지
numRemain = s % k

# numMaxMulti : 수들의 최대 곱
numMaxMulti = 1
for i in range(k - numRemain):
    numMaxMulti *= numAvg
for i in range(numRemain):
    numMaxMulti *= (numAvg + 1)

print(numMaxMulti)