2021. 5. 2. 17:15ㆍ알고리즘/백준
문제
창영이는 민균이의 컴퓨터를 해킹해 텍스트 파일 하나를 자신의 메일로 전송했다.
파일에는 단어가 한 줄에 하나씩 적혀있었고, 이 중 하나는 민균이가 온라인 저지에서 사용하는 비밀번호이다.
파일을 살펴보던 창영이는 모든 단어의 길이가 홀수라는 사실을 알아내었다.
그리고 언젠가 민균이가 이 목록에 대해서 얘기했던 것을 생각해냈다.
민균이의 비밀번호는 목록에 포함되어 있으며, 비밀번호를 뒤집어서 쓴 문자열도 포함되어 있다.
예를 들어, 민균이의 비밀번호가 "tulipan"인 경우에 목록에는 "napilut"도 존재해야 한다.
알 수 없는 이유에 의해 모두 비밀번호로 사용 가능하다고 한다.
민균이의 파일에 적혀있는 단어가 모두 주어졌을 때, 비밀번호의 길이와 가운데 글자를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 단어의 수 N (2 ≤ N ≤ 100)이 주어진다.
다음 N개 줄에는 파일에 적혀있는 단어가 한 줄에 하나씩 주어진다.
단어는 알파벳 소문자로만 이루어져 있으며, 길이는 2보다 크고 14보다 작은 홀수이다.
출력
첫째 줄에 비밀번호의 길이와 가운데 글자를 출력한다. 항상 답이 유일한 경우만 입력으로 주어진다.
입출력 예제
입력 | 출력 |
4 las god psala sal |
3 a |
🌈 문제 풀이
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
|
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class No9933_Password {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = Integer.parseInt(sc.nextLine());
List<String> password = new ArrayList<String>();
for (int i = 0; i < n; i++) {
password.add(sc.nextLine());
}
sc.close();
for (int i = 0; i < password.size(); i++) {
String s = new StringBuffer(password.get(i)).reverse().toString();
if (password.contains(s)) {
System.out.println(s.length() + " " + s.charAt(s.length() / 2));
return;
}
}
}
}
|
cs |
👩💻 풀어보기 👨💻 https://www.acmicpc.net/problem/9933
9933번: 민균이의 비밀번호
첫째 줄에 단어의 수 N (2 ≤ N ≤ 100)이 주어진다. 다음 N개 줄에는 파일에 적혀있는 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 소문자로만 이루어져 있으며, 길이는 2보다 크고 14보다 작은
www.acmicpc.net
'알고리즘 > 백준' 카테고리의 다른 글
[백준 알고리즘] 5554번 / 심부름 가는 길 (0) | 2021.05.04 |
---|---|
[백준 알고리즘] 2711번 / 오타맨 고창영 (0) | 2021.05.03 |
[백준 알고리즘] 11656번 / 접미사 배열 (0) | 2021.05.02 |
[백준 알고리즘] 2420번 / 사파리월드 (0) | 2021.04.29 |
[백준 알고리즘] 2914번 / 저작권 (0) | 2021.04.29 |