
-Code
import java.io.*;
import java.util.*;
public class BOJ14584 {
static char[] alpa = {
'a', 'b', 'c', 'd', 'e', 'f', 'g',
'h', 'i', 'j', 'k', 'l', 'm', 'n',
'o', 'p', 'q', 'r', 's', 't', 'u',
'v', 'w', 'x', 'y', 'z'
};
public static void main(String[] args) throws IOException {
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String incodeLine = br.readLine();
// 변환된 라인을 알파벳 숫자로 작성
int length = incodeLine.length();
int[] lineIndex = new int[length];
for (int i = 0; i < length; i++) {
lineIndex[i] = incodeLine.charAt(i) - 'a';
}
// 주어진 단어 받기
int cnt = Integer.parseInt(br.readLine());
String[] words = new String[cnt];
for (int i = 0; i < cnt; i++) {
words[i] = br.readLine();
}
// 알파벳 위치를 1개씩 밀면서 확인
StringBuilder sb = null;
for (int i = 0; i < 26; i++) {
sb = new StringBuilder();
// 가지고 있는 알파벳의 위치를 i만큼 밀기
for (int j = 0; j < length; j++) {
sb.append(alpa[(lineIndex[j] + i) % 26]);
}
// 주어진 단어들 중 일치 하는 것이 있는지 확인
boolean isTrue = false;
for (int j = 0; j < cnt; j++) {
if (sb.toString().contains(words[j])) {
isTrue = true;
break;
}
}
// 있으면 바로 탈출
if (isTrue) {
break;
}
}
// 출력
System.out.println(sb);
}
}'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
| [백준/Java] 1759번 암호 만들기 (0) | 2026.01.26 |
|---|---|
| [백준/Java] 9205번 맥주 마시면서 걸어가기 (0) | 2026.01.26 |
| [백준/Java] 2644번 촌수계산 (0) | 2026.01.25 |
| [백준/Java] 13549번 숨바꼭질 3 (0) | 2026.01.25 |
| [백준/Java] 1812번 사탕 (0) | 2026.01.25 |