알고리즘 공부/백준 문제풀이

[백준] 11365 : !밀비 급일(JAVA)

송테이토 2022. 10. 5. 00:56

백준 11365 자바

!밀비 급일 다국어

문제

당신은 길을 가다가 이상한 쪽지를 발견했다. 그 쪽지에는 암호가 적혀 있었는데, 똑똑한 당신은 암호가 뒤집으면 해독된다는 것을 발견했다.

이 암호를 해독하는 프로그램을 작성하시오.

입력

한 줄에 하나의 암호가 주어진다. 암호의 길이는 500을 넘지 않는다.

마지막 줄에는 "END"가 주어진다. (END는 해독하지 않는다.)

출력

각 암호가 해독된 것을 한 줄에 하나씩 출력한다.

예제 입력 1

!edoc doog a tahW
noitacitsufbo
erafraw enirambus detcirtsernu yraurbeF fo tsrif eht no nigeb ot dnetni eW
lla sees rodroM fo drol eht ,ssertrof sih nihtiw delaecnoC
END

예제 출력 1

What a good code!
obfustication
We intend to begin on the first of February unrestricted submarine warfare
Concealed within his fortress, the lord of Mordor sees all

시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율

1 초 256 MB 10962 6833 6191 64.003%

코드

import java.util.Scanner;

public class B11365 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		String str = "";
		while (true) {
			str = sc.nextLine();// 문자열 입력받기

			if (str.equals("END")) {
				break;
			}

			String[] arr = str.split(""); // 하나씩 쪼개서 배열에 넣고
			for (int i = arr.length - 1; i >= 0; i--) { // 뒤에서부터 출력한다.
				System.out.print(arr[i]);
			}
			System.out.println();

		}

		sc.close();
	}

}

StringBuffer쓰면 reverse로 손쉽게 뒤집기 가능하다.

reverse().toString()

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class B11365_2 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuffer sb;

		while (true) {
			String str = br.readLine();
			if (str.equals("END"))
				break;

			sb = new StringBuffer(str);

			String reverse = sb.reverse().toString();
			System.out.println(reverse);

		}
	}
}

진짜 훨씬 빠르긴하다…