๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/13022)
< ๋๋์ ์ฌ๋ฐ๋ฅธ ๋จ์ด >
๋ฌธ์ ํ์ด
๋จ์ด๊ฐ ์กฐ๊ฑด์ ๋ง๋ ์ฌ๋ฐ๋ฅธ ๋จ์ด์ธ์ง ํ์ธํ๋ค.
์ฌ๋ฐ๋ฅด์ง ์์ ๋จ์ด์ธ ๊ฒฝ์ฐ
1) ๋จ์ด์ ๊ธธ์ด๊ฐ 4๋ณด๋ค ์์
2) ์ฒซ ๋ฒ์งธ ๋จ์ด๊ฐ w์ด์ง ์๋ ๊ฒฝ์ฐ
3) w ๋ค์ ๋จ์ด๊ฐ w ๋๋ o๊ฐ ์๋ ๊ฒฝ์ฐ
4) o ๋ค์ ๋จ์ด๊ฐ o ๋๋ l๊ฐ ์๋ ๊ฒฝ์ฐ
5) l ๋ค์ ๋จ์ด๊ฐ l ๋๋ f๊ฐ ์๋ ๊ฒฝ์ฐ
6) f ๋ค์ ๋จ์ด๊ฐ f ๋๋ w๊ฐ ์๋ ๊ฒฝ์ฐ
6) ๋ง์ง๋ง ๋จ์ด๊ฐ f๊ฐ ์๋ ๊ฒฝ์ฐ
7) ๊ฐ w, o, l, f์ ๊ฐ์๊ฐ ์ผ์นํ์ง ์๋ ๊ฒฝ์ฐ
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class _13022_ { // ๋๋์ ์ฌ๋ฐ๋ฅธ ๋จ์ด
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String str = bf.readLine();
int w = 0, o = 0, l = 0, f = 0;
if (str.length() < 4) {
System.out.println("0");
return;
}
for (int i = 0; i < str.length(); i++) {
if (i == 0) {
if (str.charAt(i) != 'w') {
System.out.println("0");
return;
}
w += 1;
if (!(str.charAt(i + 1) == 'w' || str.charAt(i + 1) == 'o')) {
System.out.println("0");
return;
}
} else if (i == str.length() - 1) {
if (str.charAt(i) != 'f' || o != l) {
System.out.println("0");
return;
}
f += 1;
if (l != f) {
System.out.println("0");
return;
}
} else {
if (str.charAt(i) == 'w') {
if (str.charAt(i - 1) == 'f') {
w = 0;
o = 0;
l = 0;
f = 0;
}
w += 1;
if (!(str.charAt(i + 1) == 'w' || str.charAt(i + 1) == 'o') || l != f) {
System.out.println("0");
return;
}
} else if (str.charAt(i) == 'o') {
o += 1;
if (!(str.charAt(i + 1) == 'o' || str.charAt(i + 1) == 'l')) {
System.out.println("0");
return;
}
} else if (str.charAt(i) == 'l') {
l += 1;
if (!(str.charAt(i + 1) == 'l' || str.charAt(i + 1) == 'f') || w != o) {
System.out.println("0");
return;
}
} else if (str.charAt(i) == 'f') {
f += 1;
if (!(str.charAt(i + 1) == 'f' || str.charAt(i + 1) == 'w') || o != l) {
System.out.println("0");
return;
}
}
}
}
System.out.println("1");
}
}
๋ณ์)
str : ๋จ์ด
w, o, l, f : ๊ฐ w, o, l, f ๊ฐ์
๋จ์ด๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. ๋จ์ด์ ๊ธธ์ด๊ฐ 4๋ณด๋ค ์์ ๊ฒฝ์ฐ wolf๋ฅผ ๋ง๋ค์ง ๋ชปํ๋ฏ๋ก 0์ ์ถ๋ ฅํ๊ณ ์ข ๋ฃํ๋ค. ๋จ์ด์ ๊ธธ์ด๊ฐ 4 ์ด์์ผ ๊ฒฝ์ฐ ๋ค์ ์กฐ๊ฑด์ ํ๋ณํ๋ค.
1) 0๋ฒ์งธ ๊ฐ์ด w๊ฐ ์๋๋ผ๋ฉด 0์ ์ถ๋ ฅํ ํ ์ข ๋ฃ/ w๋ผ๋ฉด count ํ ๋ค์ ๊ฐ์ด w์ด๊ฑฐ๋ o์ธ์ง ํ์ธ
2) ๋ง์ง๋ง ๊ฐ์ด f๊ฐ ์๋๊ฑฐ๋ o์ l์ ๊ฐ์๊ฐ ๊ฐ์ง ์๋ค๋ฉด 0์ ์ถ๋ ฅํ ํ ์ข ๋ฃ/ f์ด๊ณ o์ l์ ๊ฐ์๊ฐ ๊ฐ๋ค๋ฉด f count ํ ์ต์ข l๊ณผ f ๊ฐ์๊ฐ ๊ฐ์์ง ํ๋ณ
3) ๊ทธ ์ธ ๊ฐ ๊ฐ์ count ํ ๋ค์ ๊ฐ์ด ์ง๊ธ ๊ฐ๊ณผ ์ผ์นํ๊ฑฐ๋ ๋ค์์ผ๋ก ๋์์ผ ํ ๊ฐ์ด๊ฑฐ๋ ๊ทธ ์ ์ ๊ฐ์ ๊ฐ์๊ฐ ์ผ์นํ๋์ง ํ์ธ
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 1963_์์ ๊ฒฝ๋ก (0) | 2024.05.07 |
---|---|
[Baekjoon] 1986_์ฒด์ค (0) | 2024.05.03 |
[Baekjoon] 10157_์๋ฆฌ๋ฐฐ์ (0) | 2024.05.01 |
[Baekjoon] 7490_0 ๋ง๋ค๊ธฐ (0) | 2024.04.30 |
[Baekjoon] 18290_NM๊ณผ K (1) (0) | 2024.04.29 |