loading

새소식

CodingTest/BaekJoon Online Judge

[BOJ] 백준 10988번: 팰린드롬인지 확인하기 - Java(자바) 문제 해설 및 풀이

  • -
728x90
반응형

 

 

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

 

 

 

 

 

 

❓ 문제

 

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

 

 

 

 

📝 Input

 

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

 

 

🖨️ Output

 

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

 

 

 

 

 

 

🎯 풀이 

 

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String wd = sc.next();

        if (Palindrome(wd)) {
            System.out.println("1");
        } else {
            System.out.println("0");
        }

        sc.close();
    }

    public static boolean Palindrome(String wd) {
        int length = wd.length();

        for (int i = 0; i < length / 2; i++) {
            if (wd.charAt(i) != wd.charAt(length - 1 - i)) {
                return false;
            }
        }

        return true;
    }
}

 

⭐ 사용자에게 입력을 받기위해 Scanner 객체 생성 후 문자열 word 선언

Scanner sc = new Scanner(System.in);
String word = sc.next();

 

 

  팰린드롬인지 확인하는 함수 선언

public static boolean Palindrome(String wd)

 

 

입력 받은 단어(wd)의 길이 값을 length 에 저장

int length = wd.length();

 

 

입력 받은 단어의 중간까지 반복
⭐ 현재 위치의 문자와 대칭되는 위치의 문자를 비교 => 다르면 false 반환 

⭐ 끝까지 대칭되는 문자가 서로 같다면 true 반환

for (int i = 0; i < length / 2; i++) {
    if (wd.charAt(i) != wd.charAt(length - 1 - i)) {
        return false;
    }
}

return true;

 

 

true 일 경우 1 출력 false 일 경우 0 출력

if (Palindrome(wd)) {
    System.out.println("1");
} else {
    System.out.println("0");
}

 

 

 

 

 

 

 

 

 

💡 출력 결과

 



 

 

 

 

 

 


 

 

 

728x90
반응형
Contents

📝 포스팅 주소를 복사했습니다 📝

이 글이 도움이 되었다면 공감 부탁드립니다👍