https://www.acmicpc.net/problem/5430
package Koala_study.week_5;
import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;
import java.util.StringTokenizer;
public class g_5430 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
StringTokenizer st;
int t = in.nextInt();
for (int i = 0; i < t; i++) {
StringBuilder sb = new StringBuilder();
Deque<Integer> dq = new LinkedList<>();
String p = in.next();
int n = in.nextInt();
st = new StringTokenizer(in.next(), "[],");
for (int j = 0; j < n; j++) {
dq.add(Integer.parseInt(st.nextToken()));
}
int direct = 0; // 앞뒤 방향
int error = 0; //에러사인
sb.append("[");
for (int k = 0; k < p.length(); k++) {
char fun = p.charAt(k);
switch (fun) {
case 'R':
if (direct == 0) direct = 1;
else direct = 0;
break;
case 'D':
if (dq.isEmpty()) {
error = 1;
break;
}
if (direct == 0) dq.pollFirst();
else dq.pollLast();
break;
}
}
if (error == 1) {
System.out.println("error");;
} else {
if (dq.isEmpty()) sb.append("]");
while (!dq.isEmpty()) {
if (direct == 0) sb.append(dq.poll());
else sb.append(dq.pollLast());
if (!dq.isEmpty()) sb.append(",");
else sb.append("]");
}
System.out.println(sb.toString());
}
}
}
}
자바로 문자열 구분을 할때 항상 spilt을 써왔었는데 이번 문제를 풀면서 StringTokenizer로 문자열 구분을 하여 입력을 받으면 더 편하다는 걸 알게되었다. 자주 애용해야겠다.
'Koala - 10기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[백준/Python] #5430 AC (0) | 2023.05.07 |
---|---|
[백준/1417] python 국회의원 선거 (0) | 2023.05.07 |
[백준/Python] 15903 카드 합체 놀이 (0) | 2023.05.06 |
[백준/C++] 5430 : AC (1) | 2023.05.06 |
[백준/C++] 9012번 괄호 (0) | 2023.05.05 |