[BOJ] Q9093: 단어 뒤집기

ddwwon·2022년 11월 3일
0

Algorithm

목록 보기
2/4

내 코드

import java.util.*;

public class Q9093 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int N = Integer.parseInt(sc.nextLine()); // 1

        for(int i = 0; i < N; i++){
            String str = sc.nextLine();
            String[] arr = str.split(" ");
            for(int j = 0; j < arr.length; j++){
                System.out.print(new StringBuilder(arr[j]).reverse().toString() + " ");
            }
            System.out.println();
        }
    }
}
  • 처음에는 전체 문장을 reverse 하면 되는 매우 간단한 문제라고 생각했었다. 하지만 한 단어씩 reverse 하는 문제였다. 항상 문제를 제대로 읽자^^,,,
  • N을 nextline으로 입력받기 때문에 줄바꿈 문자인 \n도 count 하기 때문에 반복문을 제대로 돌지 못했다.
  • int N = Integer.parseInt(sc.nextLine()); 문장을 사용해서 해결할 수 있었다.
  • 한 단어씩 reverse 하려면 split을 사용하는 게 제일 적절하다고 생각했다.
  • 새로운 StringBuilder를 사용해서 arr의 요소값을 생성함과 동시에 reverse해서 출력했다.
  • 출력할 때 print로 출력해야 줄바꿈이 되지 않는다.
  • 띄어쓰기로 포함해야지 예상 출력과 동일하게 나올 수 있다.
  • 한 문장이 끝날 때마다 줄바꿈이 되어야 하기 때문에 println을 사용한다.

https://www.acmicpc.net/problem/9093

0개의 댓글