본문 바로가기
알고리즘 문제풀이

[Backjoon] 10988문제 - 팰린드롬인지 확인하기

by 마스터누누 2017. 6. 1.
728x90
반응형

알파벳 소문자로만 이루어진 단어가 주어진다. 이 때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오.

팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다. 

level, noon은 팰린드롬이고, baekjoon, online, judge는 팰린드롬이 아니다.



풀이

보통 팰린드롬 문제를 정석적으로 풀기 위해서는 스택을 사용한다.

문자열의 길이/2 만큼은 스택에 넣고, 나머지는 스택에 있는 값을 꺼내보면서 확인하는 것이다.

그러나 스택을 만들기 번거롭다면 아래와 같이 코드를 작성해도 좋다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String[] str = sc.next().split("");
 
        for(int i = 0; i<str.length/2; i++){
            int compIdx = str.length-i-1;
 
            if(!str[i].equals(str[compIdx])){
                System.out.print(0);
                return;
            }
        }
 
        System.out.print(1);
    }
}
 
cs


반응형

댓글