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의 아스키 코드값을 알면 쉽게 풀수 있는 문제입니다. 모르는 경우는 값을 찍어보면 문제풀이 과정에서도 쉽게 알 수 있습니다.