ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA] 9093번: 단어 뒤집기
    Algorithm/백준 알고리즘 2021. 7. 4. 00:10


    문제 설명

    문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다.

     

    입력

    • 첫째 줄에 테스트 케이스의 개수 T가 주어진다.
    • 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다.
    • 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다.
    • 단어와 단어 사이에는 공백이 하나 있다.

     

    입력

    • 첫째 줄에 테스트 케이스의 개수 T가 주어진다.
    • 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다.
    • 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다.
    • 단어와 단어 사이에는 공백이 하나 있다.

     

    풀이

    1. 문장을 저장하기 위해, String형 배열 array를 선언하고 크기를 T만큼 설정하였다.
    2. 반복문을 통해 array에 문장을 입력받았다.
    3. 공백을 기준으로 단어를 저장하기 위해, split메서드를 사용하였다. 해당 결과 값을 temp변수에 저장하였다.
    4. 다시 반복문을 통해 각 단어별 길이 -1 값을 size에 저장하였다.
    5. size가 0보다 크거나 같을 경우 반복문 내부를 수행하게 되는데, 이때 str에 배열에 저장된 단어의 제일 끝순서부터 str에 저장한다.
    6. while반복문 수행 후 str을 출력함(한 단어만 출력된다.)과 동시에 공백문자를 넣어주어 하나의 문장을 다시 만들어 주었다.
    7. 위의 과정을 T횟수 만큼 반복하여 수행하였다.

     

    코드

    /*
    <단어 뒤집기>
    문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오.
    단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져있다.
    
    1. 공백을 기준으로 단어를 쪼갤 수 있어야한다.
    2. 단어를 뒤집어야 한다.
    */
    
    import java.util.*;
    
    class Main {  
      public static void main(String args[]) { 
        Scanner sc = new Scanner(System.in);
        int T = Integer.parseInt(sc.nextLine());
    
        String[] array = new String[T];
    
        for(int i = 0; i < T; i++){
          array[i] = sc.nextLine();
        }
    
        for(int i = 0; i < T; i++){
          String[]temp = array[i].split(" ");
          for(int j = 0; j < temp.length; j++){
            int size = temp[j].length()-1;
            String str = "";
            while(size >= 0){
              str = str + temp[j].charAt(size--);
            }
            System.out.print(str + " ");
          }
          System.out.println();
        }
      } 
    }

    'Algorithm > 백준 알고리즘' 카테고리의 다른 글

    [JAVA] 1874번 : 스택 수열  (0) 2021.07.05
    [JAVA] 9012번: 괄호  (0) 2021.07.04
    [JAVA] 10828번:스택  (0) 2021.07.03
    2748번:피보나치 수 2  (0) 2019.11.25
    11399번:ATM  (0) 2019.11.25

    댓글

[Everything's gonna be fine]