자바로 백준 1817 풀기

hong030·2023년 4월 5일
0
  • 실버 5단계 문제

풀이)

책을 넣을 최소한의 박스 개수를 구하여라.

입력받은 책의 무게들을 배열에 넣고, int sum을 통해 책의 무게의 합을 계산하여 박스가 견디는 무게 중량을 초과하는지를 따져 계산하면 된다.

내 코드)

import java.io.*;
import java.util.StringTokenizer;

public class Backjoon1996 {
	public static void main(String[]args) throws IOException{		
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));		
		StringTokenizer st = new StringTokenizer(bf.readLine());
		int N = Integer.parseInt(st.nextToken()); //책 개수
		int M = Integer.parseInt(st.nextToken()); //박스 중량
		
		if(N==0) {
			System.out.println(0);
			return;
		}
		
		int input[] = new int[N];
		st = new StringTokenizer(bf.readLine());
		for(int i=0;i<N;i++) {
			input[i] = Integer.parseInt(st.nextToken());
		}
		
		int count = 0; //박스 개수
		int sum = 0;
		int i;
		for(i=0;i<N;i++) {
			sum += input[i];
			if(sum>M) {
				i--;
				count++;
				sum = 0;
			}		
		}
		System.out.println(count+1);
	}
}

profile
자바 주력, 프론트 공부 중인 초보 개발자. / https://github.com/hongjaewonP

0개의 댓글