[Baekjoon] 9342_μΌμ체
λ¬Έμ (μΆμ²: https://www.acmicpc.net/problem/9342)
< μΌμ체 >
λ¬Έμ νμ΄
μ κ· ννμμ μ¬μ©νλ©΄ λ¬Έμ λ₯Ό μ½κ² ν΄κ²°ν μ μμ κ² κ°μ μ κ· ννμμ μ°Ύμ μ¬μ©νμ¬ ν΄κ²°νλ€.
μ΄ λ¬Έμ μμ μ¬μ©ν μ κ· ννμ κΈ°νΈλ λ€μκ³Ό κ°λ€.
^ : μμ
$ : λ
[] : κ΄νΈ μμ λ¬Έμκ° μλμ§ νμΈ
- : μ¬μ΄μ λ¬Έμ νΉμ μ«μ
? : μμ ννμμ΄ 0 or 1κ°
+ : μμ ν¬νμμ΄ 1κ° μ΄μ
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.regex.Pattern;
public class _9342_ { // μΌμ체
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int T = Integer.parseInt(bf.readLine());
for (int i = 0; i < T; i++) {
String str = bf.readLine();
if (Pattern.matches("^[A-F]?A+F+C+[A-F]?$", str)) {
bw.write("Infected!\n");
} else {
bw.write("Good\n");
}
}
bw.flush();
}
}
λ³μ)
T : ν μ€νΈ μΌμ΄μ€ μ
str : λ¬Έμμ΄
ν μ€νΈ μΌμ΄μ€ μλ₯Ό μ λ ₯λ°μ ν μ€νΈ μΌμ΄μ€ μλ§νΌ λ¬Έμμ΄μ μ λ ₯λ°μ μ κ· ννμκ³Ό μΌμΉνλμ§ νμΈνλ€.
λ¬Έμμ΄ μμμ΄ {A, B, C, D, E, F} μ€ 0κ° λλ 1κ°μ΄λ―λ‘ -> ^[A-F]?λ‘ λ³ννλ€.
κ·Έλ€μ Aκ° 1κ° μ΄μ, Fκ° 1κ° μ΄μ, Cκ° 1κ° μ΄μμ΄λ―λ‘ -> A+F+C+λ‘ λ³ννλ€.
λ§μ§λ§μΌλ‘ {A, B, C, D, E, F} μ€ 0κ° λλ 1κ° μ΄λ―λ‘ -> [A-F]?$λ‘ λ³ννλ€.
μ΅μ’ μ κ· ννμ ^[A-F]?A+F+C+[A-F]?$μ μΌμΉνλμ§ νμΈνλ€.
