๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/11008)
< ๋ณต๋ถ์ ๋ฌ์ธ >
๋ฌธ์ ํ์ด
p๋ฅผ ๋ถ์ฌ ๋ฃ๊ธฐ ๊ฐ๋ฅํ ๊ฒฝ์ฐ์๋ p๋ฅผ ์๋ ๊ฒฝ์ฐ์๋ ํ ๊ธ์์ฉ ์ ๋ ฅํ๋ค.
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.StringTokenizer;
public class _11008_ { // ๋ณต๋ถ์ ๋ฌ์ธ
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int t = Integer.parseInt(bf.readLine());
for (int i = 0; i < t; i++) {
st = new StringTokenizer(bf.readLine());
String s = st.nextToken();
String p = st.nextToken();
int time = 0, idx = 0;
while (idx < s.length()) {
if (idx + p.length() - 1 < s.length() && s.substring(idx, idx + p.length()).equals(p)) {
idx += p.length();
} else {
idx += 1;
}
time += 1;
}
bw.write(time + "\n");
}
bw.flush();
}
}
๋ณ์)
t : ํ ์คํธ์ผ์ด์ค ๊ฐ์
s, p : ์ ๋ ฅ ๋ฌธ์์ด, ํด๋ฆฝ๋ณด๋์ ์ ์ฅํ ๋ฌธ์์ด
time, idx : ์ต์ ์๊ฐ, ์ ๋ ฅ ์์น
ํ ์คํธ์ผ์ด์ค ๊ฐ์๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. ํ ์คํธ ์ผ์ด์ค ๊ฐ์๋งํผ ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
1) s์ p๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค.
2) s์ 0๋ฒ์งธ๋ถํฐ ํ์์ ์์ํ๋ค. ๋ง์ฝ p์ ์ผ์นํ๋ค๋ฉด p๋ฅผ ์ ๋ ฅํ๊ณ ์ผ์นํ์ง ์๋ค๋ฉด ํ ๊ธ์๋ง ์ ๋ ฅํ๋ค.
3) ์ต์ข ์ต์ ์๊ฐ์ธ time์ ์ถ๋ ฅํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 11971_์๋ ์๋ฐ (0) | 2024.06.07 |
---|---|
[Baekjoon] 1384_๋ฉ์์ง (0) | 2024.06.06 |
[Baekjoon] 11292_ํค ํฐ ์ฌ๋ (0) | 2024.06.04 |
[Baekjoon] 1270_์ ์ - ๋ ๋ฐ๋จน๊ธฐ (0) | 2024.06.03 |
[Baekjoon] 21920_์๋ก์ ํ๊ท (0) | 2024.05.30 |