Koala - 14기/기초 알고리즘 스터디

[백준/JAVA] 11365번 !밀비 급일

Rodin 2024. 3. 17. 23:37

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

 

11365번: !밀비 급일

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

www.acmicpc.net

문제 분석

분류

구현, 문자열

문제 설명

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

입력

한 줄에 하나의 암호가 주어진다. 암호의 길이는 500을 넘지 않는다.
마지막 줄에는 "END"가 주어진다. (END는 해독하지 않는다.)

출력

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

소스코드

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        while (true) {
            String line = br.readLine();
            if (line.equals("END")) {
                break;
            }
            String nat = "";
            int len = line.length();
            for (int i = 0; i < line.length() ; i++) {
                nat = nat + line.charAt(len-i-1);
            }
            System.out.println(nat);
        }
    }
}

문제풀이

- BufferReader 사용해 한 라인 전체를 입력받아줍니다.
- 입력이 "END"인 경우 프로그램을 종료해줍니다.
- 해독본을 저장해줄 String nat을 선언해줍니다.
- BufferReader을 통해 입력받은 라인의 [길이-1]의 인덱스부터 nat에 차례로 저장해줘 [0]인덱스까지 저장해줍니다.
- 역순으로 저장을 해주어 암호를 해독하고 이를 매 입력 마다 출력해줍니다.