728x90
반응형
2024.11.10기준 - 브론즈2
728x90
백준, BEAKJOON, BOJ, JAVA, 자바
🟥 풀이
이 문제는 래환이가 n일 동안 목표 다이어트 량에 도달할 수 있는지 확인하여 출력하는 문제입니다.
1. 입력받은 값을 저장해줍니다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken()); // 소개팅까지 남은 날짜
int m = Integer.parseInt(st.nextToken()); // 목표 감소 체중
int[] arr = new int[n]; // 체중 감소량
st = new StringTokenizer(br.readLine());
// 입력받은 감소량을 저장
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
2. 입력받은 감소량 배열을 뒤에서 부터 계산하여 m보다 크거나 같을 때 멈춰주며 성공 여부를 체크해줍니다.
// 뒤에서 부터 count 세기
int count = 0;
// 성공 여부
boolean check = false;
for (int i = n - 1; i >= 0; i--) {
m -= arr[i];
count++;
if (m <= 0) {
check = true;
break;
}
}
3. 성공한다면 계산된 수를 실패한다면 -1를 출력합니다.
int result = 0;
if (!check) { // 실패
result = -1;
} else { // 성공
result = n - count + 1;
}
🟪 코드
package Main;
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken()); // 소개팅까지 남은 날짜
int m = Integer.parseInt(st.nextToken()); // 목표 감소 체중
int[] arr = new int[n]; // 체중 감소량
st = new StringTokenizer(br.readLine());
// 입력받은 감소량을 저장
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
// 뒤에서 부터 count 세기
int count = 0;
// 성공 여부
boolean check = false;
for (int i = n - 1; i >= 0; i--) {
m -= arr[i];
count++;
if (m <= 0) {
check = true;
break;
}
}
int result = 0;
if (!check) { // 실패
result = -1;
} else { // 성공
result = n - count + 1;
}
bw.write(Integer.toString(result));
bw.flush();
bw.close();
br.close();
}
}
728x90
반응형
'코딩테스트 일기 (BAEKJOON)' 카테고리의 다른 글
BEAKJOON / 백준 - JAVA 32384번 사랑은 고려대입니다 (0) | 2024.11.12 |
---|---|
BEAKJOON / 백준 - JAVA 32498번 Call for Problems (0) | 2024.11.11 |
BEAKJOON / 백준 - JAVA 32515번 BB84 (1) | 2024.11.09 |
BEAKJOON / 백준 - JAVA 8320번 직사각형을 만드는 방법 (0) | 2024.11.08 |
BEAKJOON / 백준 - JAVA 2702번 초6 수학 (0) | 2024.11.07 |