코테/백준

[백준/JAVA] 1394번: 암호

imname1am 2024. 2. 17. 22:23
반응형

📖 문제

 

1394번: 암호

첫 번째 줄에는 암호로 사용할 수 있는 문자가 공백 없이 주어지고, 두 번째 줄에는 컴퓨터의 암호가 주어진다. 암호에 사용할 수 있는 문자의 종류는 최대 100가지이고, 공백은 사용할 수 없다.

www.acmicpc.net

 

 

💡  풀이 방식

• 문자열

1차원 배열에 해당 문자가 첫 번째로 쓰인 순서를 기록한다.

 (배열 인덱스에 매핑 시 아스키코드 상 '!'가 가장 작은 수의 문자라 활용)

 

 

🔺 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.util.*;
import java.io.*;
 
public class Main {
    static final int MOD = 900528;
    
    static String words, pwd;
    static int[] arr = new int[200];    // 해당 문자가 첫 번째로 쓰인 순서 기록용 배열
    static int ans = 0;
    
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        words = br.readLine();
        pwd = br.readLine();
        
        // 사용 가능한 문자열에 대한 정보 기록
        for(int i = 0 ; i < words.length() ; i++) {
            int idx = words.charAt(i) - '!';
            
            if(arr[idx] == 0)   // 해당 문자가 처음으로 등장하는 경우에만 인덱스 기록
                arr[idx] = i + 1;
        }
        
        // 컴퓨터 암호에 대한 처리
        for(int i = 0 ; i < pwd.length() ; i++) {
            int idx = pwd.charAt(i) - '!';
            
            ans *= words.length();
            ans += arr[idx];
            ans %= MOD;
        }
        
        System.out.println(ans);
    }
}
 
cs

 

 

➕ 다른 풀이 방식

- 어떻게 이런 생각을 하시지....

 

[BOJ][Java] 백준 1394번: 암호

문제 설명 유진이는 현수의 암호를 알아내려고 한다. 유진이는 사전 조사를 통해 임현수의 컴퓨터에 어떤 문자들이 쓰이는지 알아내었고, 하나씩 대입해보려고 한다. 대입하는 순서는 유진이가

jgeun97.tistory.com

 

- HashMap을 사용한 풀이

 

[Java] BOJ 1394 암호

1394번: 암호 첫 번째 줄에는 암호로 사용할 수 있는 문자가 공백 없이 주어지고, 두 번째 줄에는 컴퓨터의 암호가 주어진다. 암호에 사용할 수 있는 문자의 종류는 최대 100가지이고, 공백은 사용

i-have-to.tistory.com


💦 어려웠던 점

풀이를 봐도 지금 이해가 되지 않아서 복습을 해봐야할 것 같다..

머리가 돌아가지 않는다,,,,

 

 

 

1회독 2회독 3회독 4회독 5회독
V        

(참고)

 

[Java] 백준 1394번 암호

문자가 주어지고 암호를 찾는 규칙이 있을때 암호를 몇번만에 찾는지 구하는 문제입니다. 문자는 최대 100가지이며, 영어 대,소문자는 52가지이므로 48가지의 문자가 더 있다고 생각했습니다. 배

j3sung.tistory.com

 

반응형