반응형
[알고리즘][문자열][9933] 민균이의 비밀번호
* 문제
https://www.acmicpc.net/problem/9933
*풀이
문제에서 팰린드롬을 고려하지 않으면 틀리는 문제이다. 이것때문에 잠깐 고민했지만 그 외에는 어렵지 않게 풀 수 있는 문제였다.
팰린드롬이란 aba, 기러기 이런 단어들처럼 한 문장 자체가 거꾸로 해도 같은 단어들을 가리킨다. 이 문제에서는 이 단어를 받으면 출력 결과로 포함하기 때문에 코드를 짤 때 고려해줘야 한다.
count값으로 답이 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 38 39 40 41 42 | package algorithm_String; import java.util.Arrays; import java.util.Scanner; public class q_9933 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); /* * 1. 숫자를 입력받는다. * 2. 숫자만큼 for문 회전해서 단어를 입력받는다. * 3 -1. 입력받은 i번째 문자와 이전 문자들 비교 * 3 -2. 팰린드롬 고려 */ int n = scan.nextInt(); scan.nextLine(); String[] list = new String[n]; int cnt = 0; char[] result = new char[14]; for(int i=0;i<n;i++) { list[i] = scan.nextLine(); if(n==1) { cnt++; result=list[i].toCharArray(); break; } String reverse = new StringBuffer(list[i]).reverse().toString(); for(int j=0;j<=i;j++) { if(list[j].equals(reverse)) { cnt++; result=list[j].toCharArray(); } } } if(cnt==1) System.out.println(result.length+" "+result[(result.length/2)]); } } | cs |
반응형
'CS > Algorithm' 카테고리의 다른 글
[알고리즘][DFS][1987] 알파벳 (0) | 2018.04.24 |
---|---|
[알고리즘][DFS][2468] 안전영역 (JAVA) (0) | 2018.04.23 |
[알고리즘][문자열][1764] 듣보잡 (0) | 2018.04.20 |
[알고리즘][문자열][2941] 크로아티아 알파벳 (0) | 2018.04.19 |
[알고리즘][문자열][2908] 상수 (0) | 2018.04.15 |
댓글