Algorithm/정올 알고리즘

정올_1880 암호풀기(자바) / 문자열

미스터로즈 2021. 7. 3. 10:25

시간&메모리 제한

 

문제

 

입력&출력

 

문제풀이

package com.jungol;

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

public class jungol_1880 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		
		char[] key = br.readLine().toCharArray();
		char[] enc = br.readLine().toCharArray();
		
		for (int i = 0; i < enc.length; i++) {
			if(enc[i]==' ') {
				sb.append(' ');
			}else if(enc[i]>=65 && enc[i]<=90) {
				//대문자의 경우 소문자 보다 32 작다
				enc[i]+=32;
				sb.append((char)(key[enc[i]-97]-32));
			}else {
				//소문자의 경우
				sb.append(key[enc[i]-97]);
			}
		}
			System.out.println(sb);
	}
}

 

- 이 문제는 주어진 문장을 복호화 키를 통해서 암호문을 알아내는 문제입니다.

 

- a와 A의 아스키 코드값을 알면 쉽게 풀수 있는 문제입니다. 모르는 경우는 값을 찍어보면 문제풀이 과정에서도 쉽게 알 수 있습니다.