1543 JAVA ๋ฌธ์๊ฒ์
๐ ๋ฌธ์
์ธ์ค์ด๋ ์์ด๋ก๋ง ์ด๋ฃจ์ด์ง ์ด๋ค ๋ฌธ์๋ฅผ ๊ฒ์ํ๋ ํจ์๋ฅผ ๋ง๋ค๋ ค๊ณ ํ๋ค. ์ด ํจ์๋ ์ด๋ค ๋จ์ด๊ฐ ์ด ๋ช ๋ฒ ๋ฑ์ฅํ๋์ง ์ธ๋ ค๊ณ ํ๋ค. ๊ทธ๋ฌ๋, ์ธ์ค์ด์ ํจ์๋ ์ค๋ณต๋์ด ์ธ๋ ๊ฒ์ ๋นผ๊ณ ์ธ์ผ ํ๋ค. ์๋ฅผ ๋ค์ด, ๋ฌธ์๊ฐ abababa์ด๊ณ , ๊ทธ๋ฆฌ๊ณ ์ฐพ์ผ๋ ค๋ ๋จ์ด๊ฐ ababa๋ผ๋ฉด, ์ธ์ค์ด์ ์ด ํจ์๋ ์ด ๋จ์ด๋ฅผ 0๋ฒ๋ถํฐ ์ฐพ์ ์ ์๊ณ , 2๋ฒ๋ถํฐ๋ ์ฐพ์ ์ ์๋ค. ๊ทธ๋ฌ๋ ๋์์ ์ ์๋ ์๋ค.
์ธ์ค์ด๋ ๋ฌธ์์ ๊ฒ์ํ๋ ค๋ ๋จ์ด๊ฐ ์ฃผ์ด์ก์ ๋, ๊ทธ ๋จ์ด๊ฐ ์ต๋ ๋ช ๋ฒ ์ค๋ณต๋์ง ์๊ฒ ๋ฑ์ฅํ๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๐ ์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌธ์๊ฐ ์ฃผ์ด์ง๋ค. ๋ฌธ์์ ๊ธธ์ด๋ ์ต๋ 2500์ด๋ค. ๋์งธ ์ค์ ๊ฒ์ํ๊ณ ์ถ์ ๋จ์ด๊ฐ ์ฃผ์ด์ง๋ค. ์ด ๊ธธ์ด๋ ์ต๋ 50์ด๋ค. ๋ฌธ์์ ๋จ์ด๋ ์ํ๋ฒณ ์๋ฌธ์์ ๊ณต๋ฐฑ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
๐ ์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ค๋ณต๋์ง ์๊ฒ ์ต๋ ๋ช ๋ฒ ๋ฑ์ฅํ๋์ง ์ถ๋ ฅํ๋ค.
๐ ์์ ์ ๋ ฅ
์์ ์ ๋ ฅ 1
ababababa
aba
์์ ์ถ๋ ฅ 1
2
์์ ์ ๋ ฅ 2
a a a a a
a a
์์ ์ถ๋ ฅ 2
2
์์ ์ ๋ ฅ 3
ababababa
ababa
์์ ์ถ๋ ฅ 3
1
์์ ์ ๋ ฅ 4
aaaaaaa
aa
์์ ์ถ๋ ฅ 4
3
๐ ์ฝ๋
ํ๋ฆฐ ์ฝ๋
import java.io.*;
class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String first = br.readLine();
String second = br.readLine();
int si = 0;
int answer = 0;
for (int i = 0 ; i < first.length() ; i++){
if(second.charAt(si) == first.charAt(i)) si++;
else if(second.charAt(0) == first.charAt(i)) si = 1;
else si = 0;
if(si == second.length()){
answer++;
si = 0;
}
}
System.out.println(answer);
}
}
์ ์ฝ๋์ฒ๋ผ ์์ฑํ๊ฒ ๋๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ฐ๋ก๊ฐ ๋ฐ์ํ๋ค.
abababc
ababc
์ด๋ฏธ abab๊น์ง ๊ฐ๊ณ ๋ค์ c๊ฐ ์์ด์ si ๊ฐ 0์ด ๋๊ณ ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃํ๊ฒ ๋๋ค. ์ฆ, ์ด๋ฏธ ์ง๋๊ฐ ๋ฌธ์๋ ๋ค์ ๋๋์์ค์ง ์๊ธฐ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ ์ํฉ์์๋ ์ ๋๋ก ๊ฐ์ ์ถ๋ ฅํ ์ ์๋ ๊ฒ์ด๋ค.
๋ง์ ์ฝ๋
import java.io.*;
class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String first = br.readLine();
String second = br.readLine();
String rf = first.replace(second, "");
System.out.println((first.length() - rf.length()) / second.length());
}
}