728x90
반응형
2024.07.14기준 - 브론즈1
백준, BEAKJOON, BOJ, JAVA, 자바
풀이
이 문제는 주어진 연속된 3개의 숫자 또는 문자를 보고 다음 수가 무엇인지 출력하는 문제입니다.
1. 문자열이 숫자인지 아닌지 판별하는 함수를 생성했습니다.
// 문자열인지 숫자인지 판별하는 함수.
public static boolean isNumber(String str) {
return str.matches("[+-]?\\d*(\\.\\d+)?");
}
2. 3개의 문자열중 숫자를 찾습니다.
최대 8문자가 들어오고 연속된 3개의 문자열이 전부 다 숫자가 아닐 수 있는 확률은 없었습니다.
if (isNumber(s1)) { // 첫번째 단어가 숫자라면
result = Integer.parseInt(s1) + 3;
} else {
if (isNumber(s2)) { // 두번째 단어가 숫자라면
result = Integer.parseInt(s2) + 2;
} else {
if (isNumber(s3)) { // 세번째 단어가 숫자라면
result = Integer.parseInt(s3) + 1;
}
}
}
3. 조건식을 통해 나온 정답이 3의 배수인지 5의 배수인지 둘 다 아닌지를 판별해 출력을 해줍니다.
if (result % 3 == 0) { // 정답이 3의 배수라면
sb.append("Fizz");
}
if (result % 5 == 0) { // 정답이 5의 배수라면
sb.append("Buzz");
}
if (sb.length() == 0) { // 정답이 3과 5의 배수가 아니라면
sb.append(result);
}
코드
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 s1 = br.readLine();
String s2 = br.readLine();
String s3 = br.readLine();
int result = 0;
if (isNumber(s1)) { // 첫번째 단어가 숫자라면
result = Integer.parseInt(s1) + 3;
} else {
if (isNumber(s2)) { // 두번째 단어가 숫자라면
result = Integer.parseInt(s2) + 2;
} else {
if (isNumber(s3)) { // 세번째 단어가 숫자라면
result = Integer.parseInt(s3) + 1;
}
}
}
if (result % 3 == 0) { // 정답이 3의 배수라면
sb.append("Fizz");
}
if (result % 5 == 0) { // 정답이 5의 배수라면
sb.append("Buzz");
}
if (sb.length() == 0) { // 정답이 3과 5의 배수가 아니라면
sb.append(result);
}
bw.write(sb.toString());
bw.flush();
bw.close();
br.close();
}
// 문자열인지 숫자인지 판별하는 함수.
public static boolean isNumber(String str) {
return str.matches("[+-]?\\d*(\\.\\d+)?");
}
}
728x90
반응형
'코딩테스트 일기 (BAEKJOON)' 카테고리의 다른 글
BAEKJOON / 백준 - JAVA 12760번 최후의 승자는 누구? (0) | 2024.07.16 |
---|---|
BAEKJOON / 백준 - JAVA 31776번 예비 소집 결과 보고서 (2) | 2024.07.15 |
BAEKJOON / 백준 - JAVA 30802번 웰컴 키트 (2) | 2024.07.13 |
BEAKJOON / 백준 - JAVA 31964번 반품 회수 (0) | 2024.07.12 |
BEAKJOON / 백준 - JAVA 31994번 강당 대관 (2) | 2024.07.12 |