728x90

<오늘의 학습 키워드>
- 스택
<오늘의 문제>
제목 : 백준 / 브론즈2 / 12605번 단어순서 뒤집기
https://www.acmicpc.net/problem/12605
<풀이>
정답은 더보기
더보기
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Stack;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int totalCase = Integer.parseInt(br.readLine());
StringBuilder answer = new StringBuilder();
for (int i = 0; i < totalCase; i++) {
String[] str = br.readLine().split(" ");
Stack<String> strings = new Stack<>();
for (String s : str) {
strings.push(s);
}
StringBuilder sb = new StringBuilder();
while (!strings.isEmpty()) {
sb.append(" ").append(strings.pop());
}
answer.append("Case #").append(i+1).append(":").append(sb).append("\n");
}
System.out.println(answer);
}
}
- 사실 예전에 한 번 풀어봤었는데 그때는 배열을 사용해서 풀었었는데 이번에는 스택을 사용해서 풀어보았다.
- 먼저 TestCase를 입력 받아서 입력된 수 만큼 for문을 반복해서 str을 입력받는다.
- 입력 받은 str을 띄어쓰기를 기준으로 String배열에 담아서 stack에 0번 인덱스부터 마지막 인덱스 순서로 push()해준다.
- 스택의 특성상 LIFO이기 때문에 정답을 만들어줄 answer문자열에 stack이 empty가 될 때까지 pop()해서 answer에 붙힌다.
- 마지막으로 예제 출력에 맞게 출력시키면 된다.
<결론, 주의할점>
- 마지막 출력 예제에 보면 Case #1 부터 출력이된다. 0이 아니다.
반응형
'Study or Lecture > 항해 99클럽 코딩테스트 스터디' 카테고리의 다른 글
| 항해 99클럽 코딩테스트 스터디 일차 15TIL (자바 / 비기너) (2) | 2024.11.11 |
|---|---|
| 항해 99클럽 코딩테스트 스터디 14일차 TIL (자바 / 비기너) (0) | 2024.11.10 |
| 항해 99클럽 코딩테스트 스터디 12일차 TIL (비기너) (1) | 2024.11.08 |
| 항해 99클럽 코딩테스트 스터디 11일차 TIL (비기너) (1) | 2024.11.07 |
| 항해 99클럽 코딩테스트 스터디 9일차 TIL (비기너) (3) | 2024.11.06 |
댓글