본문 바로가기
컴퓨터 공학/백준

[백준] JAVA 자바 : 단어 뒤집기 (9093번)

by kim-dev 2024. 1. 18.
반응형


주어진 단어를 줄 단위로 읽은 후, 단어 별로 뒤집어 출력하는 문제이다.
사실 문자열 배열에서 바로 처리할 수도 있겠지만… 나는 앞에서 배운 스택을 활용해서 풀었다.

 

import BJoon.Stack_10828;
import java.util.*;

public class ReverseWord_9093 {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int T = scan.nextInt(); // 테스트 케이스의 개수
        Stack stack = new Stack(T); // 내가 구현한 스택!
        StringBuilder sb = new StringBuilder();
        
        String str;
        String[] str_list;
        
        for (int i=0; i<=T; i++) { // 테스트 케이스의 개수만큼
            str = scan.nextLine();
            str_list = str.split(" "); // 단어 별로 나눠서 배열에 담음
            
            for (int j=0; j<str_list.length; j++) { // 단어의 개수만큼
                if (sb.length() != 0) {
                    sb.append(" ");                    
                }
                for (int k=str_list[j].length()-1; k>=0; k--) { // 단어의 길이만큼
                    stack.push(str_list[j].charAt(k)); // 단어의 맨 뒤 단어를 빼서 넣은 후
                    sb.append((char)stack.pop()); // 바로 스택에서 pop하여 담는다.
                }
            }
        }
        System.out.println(sb);
    }

}

 

 

작성일자: 2023-08-30