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);
}
}
'알고리즘' 카테고리의 다른 글
백준 1343번 폴리오미노 (JAVA) (1) | 2023.10.17 |
---|---|
백준 4396번 지뢰 찾기 (JAVA) (0) | 2023.10.16 |
프로그래머스 세 개의 구분자 (JAVA) (1) | 2023.10.14 |
프로그래머스 x 사이의 개수 (JAVA) (0) | 2023.10.13 |
백준 2852번 NBA농구 (JAVA) (0) | 2023.10.12 |