hahn

[백준 - JAVA] 최대 곱 본문

코딩테스트 연습/백준(JAVA)

[백준 - JAVA] 최대 곱

hahn 2021. 9. 19. 11:53
728x90
반응형

1500번: 최대 곱 (acmicpc.net)

 

1500번: 최대 곱

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

www.acmicpc.net

http://boj.kr/898eb4148bba4b35bb62952c37b7f07e

 

공유 소스 보기

 

www.acmicpc.net

더보기
import java.util.Scanner;

class Main{
    
    public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int number, count;
		
		number = sc.nextInt();
		count = sc.nextInt();
		
		long result = 1;
		
		int[] intArr = new int[count];
		
		while(number != 0) {
			
			for(int i = 0; i < intArr.length; i++) {
				
				intArr[i]++;
				number--;
				if(number == 0) break; 
				
			}
			
		}
		
		for(int i = 0; i < intArr.length; i++) {
			
			result *= intArr[i];
			
		}
		
		System.out.println(result);

	}
    
}

직관적으로 생각했을 때

 

최대 곱이 나오려면

 

집합 속의 수의 범위가 적어야 한다.

(균일해야 한다)

 

그래서 수의 개수만큼 int [] 초기화해주고,

 

순차적으로 1씩 증가시켜줬다.

 

S는 100보다 작거나 같으며 K보다 크거나 같다.

 

위 조건 때문에 0이 나올 일은 없으니까

 

마지막에 모두 곱해주면 됨.

728x90
반응형

'코딩테스트 연습 > 백준(JAVA)' 카테고리의 다른 글

[백준 - JAVA] 걷다보니 신천역 삼 (Small)  (0) 2021.09.19
[백준 - JAVA] 4와 7  (0) 2021.09.19
[백준 - JAVA] 최소공배수  (0) 2021.09.19
[백준 - JAVA] 조합  (0) 2021.09.19
[백준 - JAVA] GCD 합  (0) 2021.09.19