Algorithm/백준 알고리즘
[백준 알고리즘 / JAVA] 9093번 단어 뒤집기
newtownboy
2023. 6. 27. 23:52
문제 정보
- 문제 링크: https://www.acmicpc.net/problem/9093
- 문제 번호: 9093번
- 문제 이름: 단어 뒤집기
- 문제 난이도: 브론즈 1
9093번: 단어 뒤집기
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는
www.acmicpc.net
코드
import java.io.*;
class Main {
public static void main(String args[]) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int count = Integer.parseInt(br.readLine());
for (int i = 0; i < count; i++) {
String[] strArray = br.readLine().split(" ");
String result = "";
for (int j = 0; j < strArray.length; j++) {
String ret = "";
for (int k = strArray[j].length() - 1; k >= 0; k--) {
ret += strArray[j].charAt(k);
}
if (j != strArray.length - 1) {
ret += " ";
result += ret;
} else {
result += ret;
}
}
System.out.println(result);
}
}
}
풀이
Step1: 입력 처리
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int count = Integer.parseInt(br.readLine());
- `BufferedReader`를 사용하여 입력을 처리합니다.
- `count`변수에 `br.readLine()`으로 읽은 값을 정수로 변환하여 저장합니다. 이 값은 입력할 문자열의 개수를 나타냅니다.
Step2: 단어 뒤집기
for (int i = 0; i < count; i++) {
String[] strArray = br.readLine().split(" ");
String result = "";
for (int j = 0; j < strArray.length; j++) {
String ret = "";
for (int k = strArray[j].length() - 1; k >= 0; k--) {
ret += strArray[j].charAt(k);
}
if (j != strArray.length - 1) {
ret += " ";
result += ret;
} else {
result += ret;
}
}
System.out.println(result);
}
- for문을 사용하여 변수로 입력받은 `count`번까지 반목문을 수행합니다.
- 각 반복마다 `br.readLine().split(" ")`을 사용하여 입력된 문자열을 공백을 기준으로 나누어 `strArray`배열에 저장합니다.
- `result`변수를 빈 문자열로 초기화합니다. 이 변수는 각 문자열을 뒤집어서 결과를 저장하는 역할을 수행합니다.
- `strArray`배열의 각 요소에 접근하기 위해 for루프를 사용합니다. 이는 입력된 문자열을 단어별로 처리하기 위함입니다.
- 각 반복마다 `ret`변수를 빈 문자열로 초기화합니다. 이 변수는 현재 단어를 뒤집어서 저장하는 역할을 수행합니다.
- for루프를 사용하여 `strArray[j]`의 문자를 뒤에서부터 순차적으로 `ret`변수에 추가합니다.
- 만약 현재 단어가 `strArray`배열의 마지막 요소가 아니라면`ret`에 공백을 추가하고 `result`에 `ret`을 추가합니다.
- 현재 단어가 `strArray`배열의 마지막 요소라면 `ret`을 `result`에 추가합니다.
- 모든 단어를 처리한 후 `result`를 출력합니다. 결과 값으로 뒤집어진 문자열을 출력하는 결과가 나올 것입니다.