๋ฌธ์์ด ํญ๋ฐ
๋ฌธ์
์๊ทผ์ด๋ ๋ฌธ์์ด์ ํญ๋ฐ ๋ฌธ์์ด์ ์ฌ์ด ๋์๋ค. ํญ๋ฐ ๋ฌธ์์ด์ด ํญ๋ฐํ๋ฉด ๊ทธ ๋ฌธ์๋ ๋ฌธ์์ด์์ ์ฌ๋ผ์ง๋ฉฐ, ๋จ์ ๋ฌธ์์ด์ ํฉ์ณ์ง๊ฒ ๋๋ค.
ํญ๋ฐ์ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ผ๋ก ์งํ๋๋ค.
- ๋ฌธ์์ด์ด ํญ๋ฐ ๋ฌธ์์ด์ ํฌํจํ๊ณ ์๋ ๊ฒฝ์ฐ์, ๋ชจ๋ ํญ๋ฐ ๋ฌธ์์ด์ด ํญ๋ฐํ๊ฒ ๋๋ค. ๋จ์ ๋ฌธ์์ด์ ์์๋๋ก ์ด์ด ๋ถ์ฌ ์๋ก์ด ๋ฌธ์์ด์ ๋ง๋ ๋ค.
- ์๋ก ์๊ธด ๋ฌธ์์ด์ ํญ๋ฐ ๋ฌธ์์ด์ด ํฌํจ๋์ด ์์ ์๋ ์๋ค.
- ํญ๋ฐ์ ํญ๋ฐ ๋ฌธ์์ด์ด ๋ฌธ์์ด์ ์์ ๋๊น์ง ๊ณ์๋๋ค.
์๊ทผ์ด๋ ๋ชจ๋ ํญ๋ฐ์ด ๋๋ ํ์ ์ด๋ค ๋ฌธ์์ด์ด ๋จ๋์ง ๊ตฌํด๋ณด๋ ค๊ณ ํ๋ค. ๋จ์์๋ ๋ฌธ์๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด๋๋ "FRULA"๋ฅผ ์ถ๋ ฅํ๋ค.
ํญ๋ฐ ๋ฌธ์์ด์ ๊ฐ์ ๋ฌธ์๋ฅผ ๋ ๊ฐ ์ด์ ํฌํจํ์ง ์๋๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค. ๋ฌธ์์ด์ ๊ธธ์ด๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 1,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค.
๋์งธ ์ค์ ํญ๋ฐ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค. ๊ธธ์ด๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 36๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค.
๋ ๋ฌธ์์ด์ ๋ชจ๋ ์ํ๋ฒณ ์๋ฌธ์์ ๋๋ฌธ์, ์ซ์ 0, 1, ..., 9๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ชจ๋ ํญ๋ฐ์ด ๋๋ ํ ๋จ์ ๋ฌธ์์ด์ ์ถ๋ ฅํ๋ค.
์ฒ์์ ๋ฌธ์ ๋ฅผ ์ ๋ชป์ดํดํด์.. ํญ๋ฐ ๋ฌธ์์ด์ด๋ ๊ฐ์ ๋ฌธ์์์๋ค์ ๋ชจ๋ ์ ๊ฑฐํ๋๋ฐ
์ด๋ฌ๋ฉด ์ผ๋จ ๋ฌธ์ ์ดํด๋ฅผ ์๋ชปํด์ ํ๋ฆฐ๊ฑฐ๊ณ ..
๊ทธ์ดํ์ ํ ๋๋ ์๊ฐ์ด๊ณผ๋ ๋ฉ๋ชจ๋ฆฌ์ด๊ณผ๋ฅผ ์ ์ํด์ ํ์ด์ผํ๋ค..
ํธ๋ ๋ฐฉ์์ Stack์ ์ด์ฉํ๊ฑฐ๋ StringBuilder ์ด์ฉ์ธ๋ฐ, ๋ฉ๋ชจ๋ฆฌ์ ์ผ๋ก StringBuilder๋ฅผ ์ด์ฉํ๋๊ฒ ํจ์ฌ ํจ์จ์ ์ด๋ค.
import java.util.*;
class Main {
public static void main(String args[]) throws Exception {
Scanner kb = new Scanner(System.in);
String a = kb.next(); // ๊ธฐ๋ณธ ๋ฌธ์์ด
String b = kb.next(); // ํญ๋ฐ ๋ฌธ์์ด
StringBuilder sb = new StringBuilder();
Stack<Character> stack = new Stack<>();
for (int i=0; i<a.length(); i++){
stack.push(a.charAt(i));
// ์คํ์ ์ฌ์ด์ฆ๊ฐ ํญ๋ฐ ๋ฌธ์์ด์ ๊ธธ์ด๋ณด๋ค ๊ธธ๋ฉด
// ํญ๋ฐ ๋ฌธ์์ด์ด ์กด์ฌํ ์ ์์
if(stack.size()>=b.length()){
boolean isSame=true;
// ํญ๋ฐ ๋ฌธ์์ด์ ๊ธธ์ด๋งํผ ๋ฐ๋ณต
for(int j=0; j<b.length(); j++){
// ์คํ์ ๊ธธ์ด - ํญ๋ฐ ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๋นผ๊ณ ๊ฑฐ๊ธฐ์๋ถํฐ ์์
// ํญ๋ฐ ๋ฌธ์์ด๊ณผ ๋ค๋ฅด๋ฉด ํ์ถ
if(stack.get(stack.size()-b.length()+j)!=b.charAt(j)){
isSame=false;
break;
}
}
if(isSame){
for(int j=0; j<b.length(); j++)
stack.pop();
}
}
}
for(char ch:stack){
sb.append(ch);
}
System.out.println(sb.length()>0?sb.toString():"FRULA");
}
}
'๐ ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค & ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 0 : ์ธ๊ณ์ด ์ฌ์ (0) | 2022.12.03 |
---|---|
[๋ฐฑ์ค][JAVA]2798๋ฒ : ๋ธ๋์ญ ( *๋ธ๋ฃจํธ ํฌ์ค ) (0) | 2022.11.28 |
[๋ฐฑ์ค][JAVA]11866๋ฒ : ์์ธํธ์ค ๋ฌธ์ 0 (0) | 2022.11.24 |
[๋ฐฑ์ค][JAVA]1920๋ฒ : ์ ์ฐพ๊ธฐ ( ์ด์ง ํ์ ) (0) | 2022.11.24 |
[SWEA][JAVA]D4 : ๊ดํธ ์ง์ง๊ธฐ (0) | 2022.11.19 |