728x90
반응형

Java 문제풀이

import java.util.Scanner;

public class b_1434{
    public static void main(String[] args) {
        int n,m,x=0, sum=0, box_sum=0;
        Scanner scanner = new Scanner(System.in);
        
        n = scanner.nextInt();
        m = scanner.nextInt();

        int []box = new int [n];
        int []book = new int [m];

        for(int i=0;i<n;i++){
            box[i] = scanner.nextInt();
        }

        for(int i=0;i<m;i++){
            book[i] = scanner.nextInt();
        }

        for(int i=0;i<m;i++){
            while(true){
                if(box[x]<book[i]){
                    x++;
                }
                else{
                    box[x] -= book[i];
                    break;
                }
            }
        }

        for(int i=0;i<n;i++){
            sum += box[i];
        }

        System.out.println(sum);
    }
}

 

for문으로 책 갯수만큼 반복을 돌립니다.

 

while문을 통해 책이 들어갈때까지 반복을 돌립니다.

 

박스에 책이 안들어가면 다음 박스로 넘기고, 들어가면 박스공간에서 책 크기만큼 수를 빼주고 break를 시켜서 다음 책을 넣을 수 있도록 합니다.

 

책을 다 넣었으면 반복문이 끝납니다. 이후에는 남은 박스 공간의 크기를 전부 더하면 됩니다.

 

 

 

 

결과

728x90
반응형

+ Recent posts