[백준] 12605번: 단어순서 뒤집기 (JAVA)
2022. 1. 6. 17:18ㆍ알고리즘
https://www.acmicpc.net/problem/12605
문제 설명
입력으로 this is a test가 들어오면 입력받은 것들의 순서를 바꿔서 test a is this로 출력하는 문제이다.
코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
var br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
for (int i = 0; i < n; i++) {
String str = br.readLine();
String strArr[] = str.split(" ");
System.out.print("Case #" + (i + 1) + ": ");
for (int j = strArr.length - 1; j >= 0; j--) {
System.out.print(strArr[j] + " ");
}
System.out.println();
}
}
}
코드 설명
이 문제의 알고리즘 분류를 보면 스택으로 되어있는데, 굳이 스택으로 풀 필요가 없다고 생각하였다.
나는 입력받은 문자열을 공백으로 split을 하여 배열에 넣었다.
ex) 입력: this is a test
strArr[0] = this
strArr[1] = is
strArr[2] = a
strArr[3] = test
그럼 strArr에 이런 식으로 값들이 들어가는데 나는 for문을 strArr의 길이-1부터 0까지 돌렸다.
이 말은 즉슨 strArr[3]부터 strArr[0] 순서로 출력을 시켰다는 뜻이다.
그러면 출력은 test a is this로 알맞게 나오는 것을 볼 수 있다.
'알고리즘' 카테고리의 다른 글
[백준] 1850번: 최대공약수 (0) | 2022.01.09 |
---|---|
[백준] 10828번: 스택 (0) | 2022.01.08 |
[백준] 7785번: 회사에 있는 사람(JAVA) (1) | 2022.01.04 |
[백준] 2693번: N번째 큰 수 (JAVA) (0) | 2022.01.03 |
[백준] 24039번: 2021은 무엇이 특별할까? (0) | 2022.01.03 |