728x90
반응형
2024.11.14기준 - 브론즈2
728x90
백준, BEAKJOON, BOJ, JAVA, 자바
🟥 풀이
이 문제는 주어진 조건에 참이라면 "CUTE"를 거짓이라면 "No Money"를 출력하는 문제입니다.
문제의 조건
- "+"를 기준으로 양 쪽의 수가 똑같아야 됩니다.
- 수의 첫번째 문자가 0으로 시작하면 안됩니다.
- 입력란에 보면 알파벳 대소문자도 입력이 되기 때문에 숫자인지 판별해야됩니다.
1. 입력받은 문자열을 "+"를 기준으로 나눠줍니다.
// +를 기준으로 문자열을 나눠줍니다.
StringTokenizer st = new StringTokenizer(br.readLine(), "+");
2. 먼저 "+"로 나눈 문자열이 2개가 아니라면 "No Money"를 출력합니다.
// "+"로 나눈 문자열의 개수가 2개가 아니라면
if (len != 2) {
sb.append("No Money");
}
3. 나눈 문자열을 set으로 저장 후 set의 크기가 1이 아니거나, 문자열을 시작이 "0"으로 시작한다면 "No Money"를 출력합니다.
// 2개의 문자열이 다르다면, 시작이 0이라면
if (set.size() != 1 || str.charAt(0) == '0') {
sb.append("No Money");
}
4. 문자열이 숫자가 아니라면 "No Money"를 출력합니다.
// 문자열이 숫자가 아니라면
for (char c : str.toCharArray()) {
if (!Character.isDigit(c)) {
sb.append("No Money");
break;
}
}
🟪 코드
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();
// +를 기준으로 문자열을 나눠줍니다.
StringTokenizer st = new StringTokenizer(br.readLine(), "+");
int len = st.countTokens();
// "+"로 나눈 문자열의 개수가 2개가 아니라면
if (len != 2) {
sb.append("No Money");
} else {
Set<String> set = new HashSet<>();
String str = "";
for (int i = 0; i < len; i++) {
str = st.nextToken();
set.add(str);
}
// 2개의 문자열이 다르다면, 시작이 0이라면
if (set.size() != 1 || str.charAt(0) == '0') {
sb.append("No Money");
} else {
// 문자열이 숫자가 아니라면
for (char c : str.toCharArray()) {
if (!Character.isDigit(c)) {
sb.append("No Money");
break;
}
}
}
}
// 모든 조건을 통과한다면 "CUTE"
if (sb.length() == 0) {
sb.append("CUTE");
}
bw.write(sb.toString());
bw.flush();
bw.close();
br.close();
}
}
728x90
반응형
'코딩테스트 일기 (BAEKJOON)' 카테고리의 다른 글
BEAKJOON / 백준 - JAVA 32154번 SUAPC 2024 Winter (0) | 2024.11.16 |
---|---|
BEAKJOON / 백준 - JAVA 13706번 제곱근 (1) | 2024.11.15 |
BEAKJOON / 백준 - JAVA 32369번 양파 실험 (0) | 2024.11.14 |
BEAKJOON / 백준 - JAVA 28097번 모범생 포닉스 (0) | 2024.11.13 |
BEAKJOON / 백준 - JAVA 32551번 Composed Rhythms (0) | 2024.11.13 |