문제 : boj14584
26번에 걸쳐 각 문자를 하나씩 증가시켜보면서, 입력으로 들어온 N개의 문자가 있는지 판단해보면 된다. 예를들어 처음에 'abcd' 였다면, 하나씩 증가시킨단 말은 'abcd' -> 'bcde' -> 'cdef' -> ... 와 같은걸 의미한다. 'arr[j] = (char)('a'+((arr[j]-'a'+1)%26));' 부분이 해당 역할을 한다.
코드 : github
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
private void solution() throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
char[] arr = br.readLine().toCharArray();
int n = Integer.parseInt(br.readLine());
String[] chk = new String[n];
for (int i = 0; i < n; i++)
chk[i] = br.readLine();
for (int i = 0; i < 26; i++) {
for (int j = 0; j < arr.length; j++) {
arr[j] = (char)('a'+((arr[j]-'a'+1)%26));
}
String s = String.valueOf(arr);
for (int j = 0; j < n; j++) {
if (s.contains(chk[j])) {
System.out.println(s);
return;
}
}
}
}
public static void main(String[] args) throws Exception {
new Main().solution();
}
}
'PS > BOJ' 카테고리의 다른 글
백준 24510 자바 - 시간복잡도를 배운 도도 (boj 24510 java) (0) | 2022.04.13 |
---|---|
백준 11004 자바 - K번째 수 (boj 11004 java) (0) | 2022.04.11 |
백준 9612 자바 - Maximum Word Frequency (boj 9612 java) (0) | 2022.04.09 |
백준 10090 자바 - Counting Inversions (boj 10090 java) (0) | 2022.04.08 |
백준 4659 자바 - 비밀번호 발음하기 (boj 4659 java) (0) | 2022.04.08 |
댓글