Algorithm
[BOJ_5379] ํค๋ก๊ฑฐ (์ค๋ฒ 2) - JAVA
์ด์๋ฐ
2024. 7. 19. 14:59



๐พ ์๊ณ ๋ฆฌ์ฆ
- ๋ ๊ฐ์ ์คํ์ผ๋ก ๋๋ ์ ํ ์๋ ์์ง๋ง ์ฐ๊ฒฐ๋ฆฌ์คํธ์ listIterator ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํด์ ํ์ด๋ณด์๋ค
- <, >, - ์ด ์ธ๊ฐ์ง์ ๋ํด ๋ถ๋ฅ๋ง ์ ํด์ฃผ๋ฉด ๋จ
- ์ปค์์ด๋์ ๋ํด listIterator์ ๋ค ๋ช ์๋์ด ์์๊ธฐ ๋๋ฌธ์ ์์ํ์

๐พ ์์ค์ฝ๋
import java.io.*;
import java.util.*;
public class Main {
static LinkedList<Character> linkedList;
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
for(int i=0;i<N;i++){
linkedList = new LinkedList<>();
ListIterator<Character> list= linkedList.listIterator();
String str = sc.next();
for(int j=0;j<str.length();j++){
char c = str.charAt(j);
switch (c){
case '<':
if(list.hasPrevious()){
list.previous();
}
break;
case '>' :
if(list.hasNext()){
list.next();
}
break;
case '-':
if(list.hasPrevious()){
list.previous();
list.remove();
}
break;
default:
list.add(c);
}
}
StringBuilder sb = new StringBuilder();
for(char s:linkedList){
sb.append(s);
}
System.out.println(sb.toString());
}
}
}
๐ตโ๐ซ ๊ณต๋ถํด์ผ ํ ์
- ์ฐ๊ฒฐ๋ฆฌ์คํธ Iterator
- ๋ด๊ฐ ๋ชจ๋ฅด๋ ๋ฉ์๋๋ค ๋ฐฐ์ธ ๋๋ง๋ค ์ ๋ฆฌํ๊ธฐ!