728x90
반응형
2024.09.01기준 - 브론즈4
728x90
백준, BEAKJOON, BOJ, JAVA, 자바
풀이
이 문제는 간단하게 입력된 수열에서 연속된 3개의 합이 가장 큰 값을 출력하는 문제입니다.
1. 0이 입력되면 반복문을 멈추게 설정했습니다.
// 0이 들어오면 반복문 종료.
while (!(s = br.readLine()).equals("0")) {
}
2. 입력받은 값을 배열에 저장합니다.
num = Integer.parseInt(s);
arr = new int[num];
max = 0;
st = new StringTokenizer(br.readLine());
for (int i = 0; i < num; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
3. 저장된 배열에서 연속된 3개의 합이 가장 큰 값을 찾아주고 출력해줍니다.
// 3개의 합이 가장 큰 수를 저장하는 반복문.
for (int i = 0; i < num - 2; i++) {
sum = arr[i] + arr[i + 1] + arr[i + 2];
max = Math.max(max, sum);
}
// 최댓값 출력.
sb.append(max).append("\n");
코드
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));
StringBuilder sb = new StringBuilder();
String s;
int num, sum, max;
int[] arr;
StringTokenizer st;
// 0이 들어오면 반복문 종료.
while (!(s = br.readLine()).equals("0")) {
num = Integer.parseInt(s);
arr = new int[num];
max = 0;
st = new StringTokenizer(br.readLine());
for (int i = 0; i < num; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
// 3개의 합이 가장 큰 수를 저장하는 반복문.
for (int i = 0; i < num - 2; i++) {
sum = arr[i] + arr[i + 1] + arr[i + 2];
max = Math.max(max, sum);
}
// 최댓값 출력.
sb.append(max).append("\n");
}
bw.write(sb.toString());
bw.flush();
bw.close();
br.close();
}
}
728x90
반응형
'코딩테스트 일기 (BAEKJOON)' 카테고리의 다른 글
BEAKJOON / 백준 - JAVA 10026번 적록색약 (0) | 2024.08.09 |
---|---|
BEAKJOON / 백준 - JAVA 32090번 シンプルなエディタ (0) | 2024.08.09 |
BEAKJOON / 백준 - JAVA 28419번 더하기 (0) | 2024.08.08 |
BEAKJOON / 백준 - JAVA 22993번 서든어택3 (0) | 2024.08.08 |
BEAKJOON / 백준 - JAVA 5430번 AC (0) | 2024.08.08 |