Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- this와 this() 차이
- map()
- function test
- ajax
- MariaDB Query Log
- this
- 자바 람다식
- 생성자
- 마리아DB 쿼리 로그
- SQL
- interrupted()
- 백준
- 2차원배열 구간합
- select
- 슈더코드
- InterruptException
- 구간합
- jquery
- 합배열
- 구간합구하기
- @AllArgsConstructor
- 백준 1235번
- pseudo-code
- Bean LifecCycle
- @NoArgsConstructor
- 상속과 참조
- 백준 11659번
- json
- Java
- 백준 11660번
Archives
- Today
- Total
평범한 연구소
[백준] 9093번: 단어 뒤집기 (JAVA) 본문
문장의 단어를 뒤집어서 출력하는 프로그램이다.
스택을 이용하거나, StringBuilder의 reverse()를 이용하는 두 가지 방법이 있다.
방법1. StringBuilder - reverse()
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Ex9093_2 {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuffer sb = new StringBuffer();
int cnt = Integer.parseInt(br.readLine());
while(cnt-- > 0) {
String sentance = br.readLine();
StringTokenizer token = new StringTokenizer(sentance);
while(token.hasMoreElements()) {
StringBuffer re = new StringBuffer(token.nextToken());
sb.append(re.reverse());
sb.append(" ");
}
}
System.out.println(sb);
} catch (Exception e) {
e.printStackTrace();
}
}
}
방법2. 스택
package stack;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Stack;
public class Ex9093_4 {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuffer sb = new StringBuffer();
int cnt = Integer.parseInt(br.readLine());
Stack<Character> s = new Stack<>();
while (cnt-- > 0) {
String sentance = br.readLine()+" ";
for (int i = 0; i < sentance.length(); i++) {
if (sentance.charAt(i) == ' ') {
while (!s.empty()) {
sb.append(s.pop());
}
sb.append(" ");
} else {
s.push(sentance.charAt(i));
}
}
}
System.out.println(sb);
} catch (Exception e) {
e.printStackTrace();
}
}
}
'JAVA > 알고리즘 공부' 카테고리의 다른 글
[백준] 1874번: 스택 수열 (JAVA) (0) | 2022.11.19 |
---|---|
[백준] 9012번: 괄호 (JAVA) (0) | 2022.11.12 |
[백준] 10828번: 스택 (JAVA) (0) | 2022.11.05 |
[백준] 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 (JAVA) (0) | 2022.10.09 |
[JAVA] 생년월일로 나이와 띠 구하기 (0) | 2022.09.28 |