๋ฌธ์ (์ถ์ฒ: 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]?$์ ์ผ์นํ๋์ง ํ์ธํ๋ค.

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 1013_Contact (0) | 2024.08.29 |
---|---|
[Baekjoon] 9996_ํ๊ตญ์ด ๊ทธ๋ฆฌ์ธ ๋ ์๋ฒ์ ์ ์ํ์ง (0) | 2024.08.28 |
[Baekjoon] 11068_ํ๋ฌธ์ธ ์ (0) | 2024.08.26 |
[Baekjoon] 2238_๊ฒฝ๋งค (0) | 2024.08.09 |
[Baekjoon] 13717_ํฌ์ผ๋ชฌ GO (2) | 2024.08.08 |