• 문제 링크
https://www.acmicpc.net/problem/33549
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
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));
Map<String, String> map = new HashMap<>();
String r = br.readLine(), t = br.readLine();
StringTokenizer d = new StringTokenizer(br.readLine()), e = new StringTokenizer(br.readLine());
while (d.hasMoreTokens()) map.put(d.nextToken(), e.nextToken());
bw.write(isValid(map, r, t) ? "VALID" : "STONECOAL");
bw.flush();
}
private static boolean isValid(Map<String, String> map, String r, String t) {
StringTokenizer a = new StringTokenizer(r.toLowerCase()), b = new StringTokenizer(t.toLowerCase());
while (a.hasMoreTokens()) if (!clean(a.nextToken()).equals(map.get(clean(b.nextToken())))) return true;
return false;
}
private static String clean(String s) {
int i = 0, j = s.length() - 1;
while (i <= j && !Character.isLetter(s.charAt(i))) i++;
while (j >= i && !Character.isLetter(s.charAt(j))) j--;
return s.substring(i, j + 1);
}
}
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 27964 콰트로치즈피자 - Data Structure / Java (0) | 2025.03.20 |
---|---|
[백준] 15235 Olympiad Pizza - Data Structure / Java (0) | 2025.03.19 |
[백준] 8737 Karty - Data Structure / Java (0) | 2025.03.17 |
[백준] 7847 Sales Report - Data Structure / Java (0) | 2025.03.16 |
[백준] 33540 Helping Out - Data Structure / Java (0) | 2025.03.15 |
댓글