반응형
📖 문제
💡 풀이 방식
• 문자열
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 |
➕ 다른 풀이 방식
- 어떻게 이런 생각을 하시지....
- HashMap을 사용한 풀이
💦 어려웠던 점
풀이를 봐도 지금 이해가 되지 않아서 복습을 해봐야할 것 같다..
머리가 돌아가지 않는다,,,,
1회독 | 2회독 | 3회독 | 4회독 | 5회독 |
V |
(참고)
반응형
'코테 > 백준' 카테고리의 다른 글
[백준/JAVA] 17144번: 미세먼지 안녕! (0) | 2024.02.21 |
---|---|
[백준/JAVA] 17471번: 게리맨더링 (1) | 2024.02.20 |
[백준/JAVA] 23352번: 방탈출 (0) | 2024.02.17 |
[백준/JAVA] 9081번: 단어 맞추기 (0) | 2024.02.15 |
[백준/JAVA] 17213번: 과일 서리 (1) | 2024.02.15 |