๐ ๏ธ ๋ฌธ์ ๐ ๏ธ
๐๏ธ ์ค๋ช ๐๏ธ
Cursor๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ์ ๊ตฌ๋ถํ์ฌ ์ ์ฅํ๋ค.
์ปค์๊ฐ ์ด๋ํ ๋๋ง๋ค ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ์ ์ ์ฅ๋ ๋ฌธ์๋ค์ด ๋ณํ๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ์ผ๋ง๋ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋์ง๊ฐ ์ค์ํ๋ค.
๊ทธ๋ฌ๋ฏ๋ก ์ปค์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐ๋ก ์ผ์ชฝ ๋ฌธ์์ ์ค๋ฅธ์ชฝ ๋ฌธ์๊ฐ ๊ฐ์ฅ ์์ ์์ด ์ฎ๊ธฐ๊ธฐ ์ฝ๋ค.
์ด ๋ฌธ์ ์์ ๋๋ ์คํ์ ์ฌ์ฉํ์ฌ ์ ์ฅํ๋ค.
์๋์ ๊ทธ๋ฆผ์ ์ปค์์ ์ด๋๋ฐฉํฅ์ ๋ฐ๋ผ ๋์ ๊ณผ์ ์ ๋ํ๋ธ ๊ฒ์ด๋ค.
๋ง์ง๋ง์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ ๋ ์ฃผ์ํ ์ !
์ผ์ชฝ ์คํ์์ ๊ฐ์ ๊บผ๋ด๋ฉด ๋ค์ชฝ์ ๋น๋ฐ๋ฒํธ๊ฐ ๋จผ์ ๋์ค๋ฏ๋ก ๊บผ๋ธ ํ ๋ค์ง์ด์ค๋ค.
์ค๋ฅธ์ชฝ ์คํ์ ์์ชฝ์ ๋น๋ฐ๋ฒํธ๊ฐ ๋จผ์ ๋์ค๋ฏ๋ก ๊ทธ๋๋ก ํด์ฃผ๋ฉด ๋๋ค.
๐ ํ์ด ๐
package Baekjoon;
import java.io.*;
import java.util.Stack;
public class Stack5397 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int t = Integer.parseInt(br.readLine());
while(t > 0) {
t--;
String s = br.readLine();
bw.write(keyLogger(s) + "\n");
}
bw.flush();
bw.close();
}
static String keyLogger(String s) {
Stack<Character> left = new Stack<>(); //์ปค์ ์ผ์ชฝ๋ถ๋ถ
Stack<Character> right = new Stack<>(); //์ปค์ ์ค๋ฅธ์ชฝ๋ถ๋ถ
for(int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
switch (c) {
case '<' :
if(!left.isEmpty())
right.push(left.pop());
break;
case '>' :
if(!right.isEmpty())
left.push(right.pop());
break;
case '-' :
if(!left.isEmpty())
left.pop();
break;
default :
left.push(c);
}
}
StringBuilder sb = new StringBuilder();
while(!left.isEmpty()) {
sb.append(left.pop());
}
sb.reverse(); //์ผ์ชฝ ๋น๋ฐ๋ฒํธ ๋ค์ง๊ธฐ
while(!right.isEmpty()) {
sb.append(right.pop());
}
return sb.toString();
}
}
'ProgramSolve > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] 2477๋ฒ - ์ฐธ์ธ๋ฐญ (Java) (4) | 2024.02.19 |
---|---|
[BOJ] 1068๋ฒ - ํธ๋ฆฌ (Java) (0) | 2024.02.01 |
[BOJ] 2512๋ฒ - ์์ฐ (Java) (0) | 2024.01.15 |
[BOJ] 13904๋ฒ - ๊ณผ์ (Java) (2) | 2024.01.05 |
[BOJ] 31066๋ฒ - ๋น ์ค๋ ๋ (Java) (2) | 2024.01.02 |