๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/28432)
< ๋๋ง์๊ธฐ >
๋ฌธ์ ํ์ด
? ๊ฐ ์ฃผ์ด์ง๊ธฐ ์ ๋ฌธ์์ด์ ๋ ๋ฌธ์์ ? ๊ฐ ์ฃผ์ด์ง ๋ค ๋ฌธ์์ด์ ์ฒซ ๋ฌธ์๋ฅผ ์ ์ฅํ ํ ๋ฌธ์์ด ํ๋ณด ์ค์์ ์กฐ๊ฑด์ ๋ง๋ ๋ฌธ์์ด์ ์ฐพ๋๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
public class _28432_ { // ๋๋ง์๊ธฐ
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(bf.readLine());
Set<String> set = new HashSet<>();
char before = '0';
char after = '0';
boolean flag_before = false;
boolean flag_after = false;
for (int i = 0; i < n; i++) {
String str = bf.readLine();
if (!str.equals("?")) {
set.add(str);
if (flag_before && !flag_after) {
after = str.charAt(0);
flag_after = true;
}
} else {
flag_before = true;
}
if (!flag_before)
before = str.charAt(str.length() - 1);
}
String result = "";
int m = Integer.parseInt(bf.readLine());
if (n == 1) {
System.out.println(bf.readLine());
} else {
for (int i = 0; i < m; i++) {
String str = bf.readLine();
if ((str.charAt(0) == before || before == '0')
&& (str.charAt(str.length() - 1) == after || after == '0') && !set.contains(str)) {
result = str;
}
}
System.out.println(result);
}
}
}
๋ณ์)
n : ๋๋ง์๊ธฐ ๊ธฐ๋ก์ ๊ธธ์ด
set : ๋๋ง์๊ธฐ ๋์จ ๋ฌธ์์ด
before, after : ?๊ฐ ์ฃผ์ด์ง๊ธฐ ์ ๋ฌธ์์ด์ ๋ ๋ฌธ์,? ๊ฐ ์ฃผ์ด์ง ํ ๋ฌธ์์ด์ ์ฒซ ๋ฌธ์
flag_before, flag_after : ?๊ฐ ์ฃผ์ด์ง๊ธฐ ์ , ํ์ ์ฒดํฌ
str : ๋ฌธ์์ด
result : ๋ฌธ์ ์ ๋ต
m : ํ๋ณด ๋จ์ด์ ๊ฐ์
๋๋ง์๊ธฐ ๊ธฐ๋ก์ ์ ๋ ฅ ๋ฐ๋๋ค. ?๊ฐ ๋์ค๊ธฐ ์ ๋ฌธ์์ด์ ๋ ๋ฌธ์์ ? ๊ฐ ๋์จ ํ์ ๋ฌธ์์ด์ ์ฒซ ๋ฌธ์๋ฅผ ๊ฐ๊ฐ ์ ์ฅํ๋ค. ํ๋ณด๋ฅผ ์ ๋ ฅ๋ฐ์ผ๋ฉด์ ๋ฌธ์์ด์ ์ฒซ ๋ฌธ์์ ๋ ๋ฌธ์๊ฐ ์์์ ๊ตฌํ ๋ฌธ์์ ์ผ์นํ๋ค๋ฉด ๊ทธ ๊ฐ์ ์ถ๋ ฅํ๋ค. ์ ๋ ฅ๋ฐ์ ๋? ๊ฐ ๋งจ ์๊ณผ ๋งจ ๋ค์ ์ ๋ ฅ๋ ์ ์์ผ๋ฏ๋ก ํ๋ณด ๋ฌธ์์ด์์ ๋ต์ ๊ตฌํ ๋ ์กฐ๊ฑด์ ์ถ๊ฐํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 3182_ํ๋์ด๋ ๊ณต๋ถ๊ฐ ํ๊ธฐ ์ซ์ด! (0) | 2023.12.28 |
---|---|
[Baekjoon] 2847_๊ฒ์์ ๋ง๋ ๋์ค์ด (0) | 2023.12.27 |
[Baekjoon] 10282_ํดํน (0) | 2023.12.25 |
[Baekjoon] 11265_๋๋์ง ์๋ ํํฐ (1) | 2023.12.22 |
[Baekjoon] 5972_ํ๋ฐฐ ๋ฐฐ์ก (0) | 2023.12.21 |