Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
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
Tags more
Archives
Today
Total
관리 메뉴

luke

[백준] - 팰린드롬인지 확인하기 (10988) (자바/Java) 본문

알고리즘문제/백준 문제(Java)

[백준] - 팰린드롬인지 확인하기 (10988) (자바/Java)

luke-king 2024. 3. 19. 19:08

 

 

 

 

 

https://www.acmicpc.net/problem/10988

 

10988번: 팰린드롬인지 확인하기

첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.

www.acmicpc.net

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

 

풀이.


 

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        String chk = "";

        for (int i = str.length() - 1; i >= 0; i--) { // 입력한 문자 비교해주기 위해 거꾸로 출력
            chk = chk + str.charAt(i);
        }

        if (str.equals(chk)) {
            System.out.println(1);
        } else {
            System.out.println(0);
        }
        

    }
}

 

입력한 영문 문자가 거꾸로 출력하게만 만들면 되는 문제이다.

 

1. 입력할 문자 변수 str, 입력한 문자 거꾸로 출력한 변수 chk를 만들어 준다.

 

2. for (int i = str.length() - 1; i >= 0; i--) 이 부분이 중요하다 볼 수 있다.

 str.length() - 1 을 해준 이유는 문자 하나씩 뽑아 연결해주기 위해 charAt() 함수를 사용하는데 그때 인덱스 0부터 시작하기 때문이다. 만일 -1을 해주지 않는다면 ' level ' 같은 경우 4의 길이가 나오고 에러가 나온다.

그러므로 0,1,2,3,4 (5길이) 가 나오게 해 주는 게 맞다.

 

3. 다음은 이제 입력한 값' str '과 거꾸로 출력한 ' chk '를 비교해서 같다면 1 그렇지 않다면 0이라는 조건문만 작성해 주면 끝이다.