[백준]10988번: 팰린드롬인지 확인하기

이진솔·2024년 4월 3일
0
post-thumbnail

#문제

알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오. 팰린드롬이란 앞에서 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다.

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

[출력]
첫째 줄에 팰린드롬이면 1, 아니면 0을 출력한다.

#결과

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String string = sc.nextLine();
        String compare = "";
        for(int i = string.length()-1; i>=0; i--) {
            compare += string.charAt(i);
        }
        if(string.equals(compare)) {
            System.out.println(1);
        } else {
            System.out.println(0);
        }
    }
}
  • 다른 답안
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        char[] text = sc.nextLine().toCharArray();
        int start_index = 0;
        int end_index = text.length -1;

        boolean isTrue = true;

        while(start_index < end_index) {
            if(text[start_index] != text[end_index]) {
                isTrue = false;
                break;
            }
            start_index++;
            end_index--;
        }

        if(isTrue) System.out.println(1);
        else System.out.println(0);
    }
}

# 알아가야 할 것

  1. string으로 받은 값을 char 타입의 배열에 입력
  2. index 활용하여 첫 번째 인덱스와 마지막 인덱스의 값이 같은지 확인
    => start_index++end_index--를 움직여 값 비교
    => start_indexend_index--의 값은 서로의 범위를 넘어가면 안 됨.
profile
성장하기

0개의 댓글