[JAVA/9093번] 단어뒤집기

고지훈·2021년 9월 2일
1

Algorithm

목록 보기
2/68
post-thumbnail

문제


입력 및 출력


풀이

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);
        }
    }
}

결과 및 해결방법

[결과]

[정리]

length / length() / size()

1. length
- arrays(int[], double[], String[])
- length는 배열의 길이를 알고자 할 때 사용된다.

2. length()
- String related Object(String, StringBuilder etc)
- length()는 문자열의 길이를 알고자 할 때 사용된다.

3. size()
- Collection Object(ArrayList, Set etc)
- size()는 컬렉션프레임워크 타입의 길이를 알고자 할 때 사용된다.

해결방법

  • 단어뒤집기 문제는 한 문장을 전체 뒤집는 것이 아닌, 공백 기준으로 단어를 잘라 해당 단어의 순서를 뒤집는 문제이다. 문장을 공백 기준으로 단어로 나누기 위해 split메소드를 사용하였다.
  • 첫 번째 반복문에선 입력받아야하는 문장의 개수만큼 반복문 조건을 설정하였다.
  • 두 번째 반복문에서는 한 문장안에 들어있는 단어의 개수만큼 반복문 조건을 설정하였다.
  • 세 번째 반복문에서는 각 단어내 알파벳 갯수만큼 반복문 조건을 설정하였다.
  • charAt메소드를 사용하여, 해당 문자열의 인덱스위치에 맞는 알파벳을 리턴받아 ret변수에 저장하였다.
  • 한 문장을 처음에 입력받았기 때문에, j가 마지막 단어를 가르키는 경우가 아니라면 중간에 공백을 더해주었고, 그렇지 않은 경우에는 단어만 더해주었다.
profile
"계획에 따르기보다 변화에 대응하기를"

0개의 댓글