알고리즘
백준 1817번 짐 챙기는 숌 (JAVA)
박카스마시며코딩
2023. 10. 16. 19:57
https://www.acmicpc.net/problem/1817
1817번: 짐 챙기는 숌
첫째 줄에 책의 개수 N과 박스에 넣을 수 있는 최대 무게 M이 주어진다. N은 0보다 크거나 같고 50보다 작거나 같은 정수이고, M은 1,000보다 작거나 같은 자연수이다. N이 0보다 큰 경우 둘째 줄에 책
www.acmicpc.net
저는 구현을 통해 문제를 해결하였습니다.
입력의 합을 구하고 이 값이 m보다 크다면 결과값을 늘려주어 문제를 해결하였습니다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.function.Function;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
Function<String,Integer> stoi = Integer::parseInt;
int n = stoi.apply(st.nextToken());
int m = stoi.apply(st.nextToken());
if(n == 0){
System.out.println(0);
return ;
}
int result = 1;
int sum = 0;
st = new StringTokenizer(br.readLine());
for(int i = 0 ; i < n ; i++){
int temp = stoi.apply(st.nextToken());
if(sum + temp > m){
sum = temp;
result++;
}else{
sum += temp;
}
}
System.out.println(result);
}
}