IT 기획의 길

백준 9093번 단어뒤집기 [JAVA] 본문

알고리즘(백준)/스택,큐,덱

백준 9093번 단어뒤집기 [JAVA]

완벽하기 쉽지 않지만 완벽해지려고 노력해야 한다 2021. 1. 1. 12:17

문제

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

입력

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

출력

각 테스트 케이스에 대해서, 입력으로 주어진 문장의 단어를 모두 뒤집어 출력한다.

 

 

 

 

알고리즘 설계

 

1. 문자를 입력받는다 

2. 문자를 ""를 기준으로 나눈다 (split사용)

3. 나눈 문자를 새로운 배열에 넣는다

4. 배열의 첫번째 요소부터 문자를 역순으로 뽑고 출력한다

 

ex)

i am a boy 

String str2=[ "i","am","a","boy"]

i 출력

ma 출력

a 출력

yob 출력

 

 

import java.util.*;
public class 단어뒤집기2 {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		sc.nextLine(); //엔터제거

		for(int i=0;i<n;i++) {
			String str1=sc.nextLine();
			String[] str2=str1.split(" ");
			for(int j=0;j<str2.length;j++) {
				String str3="";
				for(int k=str2[j].length()-1;k>=0;k--) {
					str3+=str2[j].charAt(k);
				}
				System.out.println(str3); 
			}



		}
	}

}

 

 

stack 으로 풀어보려 했으나 시간초과뜨길래 더 간단해보이는 문자열과 배열을 이용해서 풀이했다

'알고리즘(백준) > 스택,큐,덱' 카테고리의 다른 글

백준 10799번 쇠막대기 [JAVA]  (0) 2021.01.04
백준 1406번 에디터 [JAVA]  (0) 2021.01.02
백준 9012번 괄호 [JAVA]  (0) 2021.01.02