[BOJ] 12094.A์ B (Java)
by ๋๋ถ๋import java.io.*;
import java.util.*;
public class Main {
public static String strReverse(ArrayDeque<Character> deque, boolean isReverse) {
String temp = "";
while(!deque.isEmpty()) {
if (isReverse) { // ๋ค์ง์ด์ง ์ํ
temp += deque.pollLast();
} else {
temp += deque.pollFirst();
}
}
return temp;
}
public static String strRemove(String s, String t) {
int sLen = s.length();
int tLen = t.length();
int count = tLen - sLen; // ๊ท์น์ ์ํํ ํ์
boolean isReverse = false; // ์ด๊ธฐ์๋ ๋ค์ง์ง ์์ผ๋ฏ๋ก false ์ค์
ArrayDeque<Character> deque = new ArrayDeque<>(); // ๋ฑ ์ด๊ธฐํ
for (int i = 0; i < tLen; i++) {
deque.add(t.charAt(i));
}
char c;
while (count-- > 0) {
if (isReverse) // ๋ค์ง์ด์ง ์ํ์ด๋ฏ๋ก ์์์ ๋นผ์ผํจ
c = deque.pollFirst();
else // ๋ค์ง์ด์ง์ง ์์ ์ํ์ด๋ฏ๋ก ๋ค์์ ๋นผ์ผํจ
c = deque.pollLast();
if (c == 'B') // ๋นผ๋ธ ๋ฌธ์์ด์ด B์ธ ๊ฒฝ์ฐ ๋ค์ง์ด ์ค
isReverse = !isReverse;
}
return strReverse(deque, isReverse);
}
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
String t = br.readLine();
t = strRemove(s, t);
if (s.equals(t))
System.out.println(1);
else
System.out.println(0);
}
}
์ด ๋ฌธ์ ๋ ๋ฌธ์์ด S์ ๋ฌธ์์ด T๊ฐ ์ฃผ์ด์ง๋ฉฐ, ์ฃผ์ด์ง ๊ท์น์ ์ ์ฉํด S๋ฅผ T๋ก ๋ฐ๊ฟ ์ ์๋์ง ํ์ธํ๋ ๋ฌธ์ ์ ๋๋ค.
S๋ฅผ T๋ก ๋ฐ๊พธ๋ ค๊ณ ํ๋ ๊ฒ๋ณด๋ค T๋ฅผ S๋ก ๋ฐ๊ฟ ์ ์๋์ง ํ์ธํ๋ ๋ฐฉ๋ฒ์ด ๋ ์ฝ์ต๋๋ค.
์ฐ์ isReverse๋ผ๋ boolean ๋ณ์๋ฅผ ๋ง๋ค์ด ๋ฌธ์์ด์ด ๋ค์งํ๋์ง ์๋์ง๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
T์ ๊ธธ์ด - S์ ๊ธธ์ด๋ฅผ ํ ํ์๋งํผ ์๋์ ๊ท์น์ ์ ์ฉํฉ๋๋ค.
1. isReverse๊ฐ false์ธ ๊ฒฝ์ฐ, ๋งจ ๋ค์ ๊ธ์๋ฅผ ์ ๊ฑฐํ๋ค.
2. isReverse๊ฐ ture์ธ ๊ฒฝ์ฐ, ๋งจ ์์ ๊ธ์๋ฅผ ์ ๊ฑฐํ๋ค.
๊ทธ ํ, isReverse๊ฐ false์ด๋ฉด ์์๋๋ก ์ถ๋ ฅํ๊ณ ์๋๋ฉด ๋ฐ๋๋ก ์ถ๋ ฅํ๋ฉด ๋ฉ๋๋ค.
์ด ๋ฌธ์ ๋ AC์ ์ ์ฌํ ๊ฒ ๊ฐ๋ค์. ๐๐
๐ AC ๋ฌธ์ ํ์ด ๋ณด๋ฌ ๊ฐ๊ธฐ
'Algorithm > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] 2615.์ค๋ชฉ (Java) (0) | 2022.04.21 |
---|---|
[BOJ] 1759.์ํธ๋ง๋ค๊ธฐ (Java) (0) | 2021.06.20 |
[BOJ] 10159.์ ์ธ (Java) (0) | 2021.05.02 |
[BOJ] 1043.๊ฑฐ์ง๋ง (Java) (0) | 2021.04.30 |
[BOJ] 5430.AC (Java) (0) | 2021.04.30 |
๋ธ๋ก๊ทธ์ ์ ๋ณด
๋๋ถ๋์ Devlog
๋๋ถ๋