https://www.acmicpc.net/problem/9093
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
StringTokenizer st;
StringBuilder sb = new StringBuilder();
for(int i=0; i<T; i++){
st = new StringTokenizer(br.readLine());
while(st.hasMoreTokens()){
char[] chArr = st.nextToken().toCharArray();
for(int j=chArr.length-1; j>=0; j--){
sb.append(chArr[j]);
}
sb.append(' ');
}
sb.append('\n');
}
System.out.println(sb);
}
}
생각해보니 스택을 왜 안썼지? 라는 생각에 굳이 스택 추가 -> 속도 두배 느려짐
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
StringTokenizer st;
StringBuilder sb = new StringBuilder();
Stack<Character> stack = new Stack<>();
for(int i=0; i<T; i++){
st = new StringTokenizer(br.readLine());
while(st.hasMoreTokens()){
char[] chArr = st.nextToken().toCharArray();
for(int j=0; j<chArr.length; j++){
stack.push(chArr[j]);
}
for(int j=0; j<chArr.length; j++) {
sb.append(stack.pop());
}
sb.append(" ");
}
sb.append("\n");
}
System.out.println(sb);
}
}
초보입니다. 사소한 것도 지적해주시면 감사하겠습니다.
'알고리즘 > 백준' 카테고리의 다른 글
백준 1874번 - 스택 수열 (Java 8) (0) | 2022.03.09 |
---|---|
백준 9012번 - 괄호 (Java 8) (0) | 2022.03.08 |
백준 10828번 - 스택 (Java 8) (0) | 2022.03.08 |
백준 2021번 - 등수 매기기 (Java 8) (0) | 2022.03.07 |
백준 15651번 - N과 M (3) (Java 8) (0) | 2022.03.07 |
댓글