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
Archives
Today
Total
관리 메뉴

봄디의 개발일지

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

백준

[백준 / 문자열] 10988번 : 팰린드롬인지 확인하기 - (JAVA/자바)

bomdy 2024. 7. 10. 15:30

📝 문제

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


💭 풀이 방법

  1. 맨 앞과 맨 뒤, 이런식으로 확인을 해야하므로, 맨 앞을 가리킬 수 있는 변수와 맨 뒤를 가리킬 수 있는 변수가 필요
  2. 문자열의 길이를 이용해서 맨 뒤를 가리킬 수 있는 변수 선언
  3. 짝을 지어 확인하므로 반복문은 문자열 길이의 절반만큼 돌아야한다.
  • 예를 들어, "level" 이 있을 때 단어의 길이가 홀수(=5) 이므로, (l과 l), (e와 e) 두 번만 확인해주면 된다.
  • "noon" 은 단어의 길이가 짝수(=4) 이므로 (n와 n), (o와 o) 두 번을 확인해줘야한다.
  • 즉, 단어의 길이가 홀수일 때도, 5/2 = 2번만 확인해주면 되고, 짝수일 때도 4/2 = 2 번만 확인해주면 되므로 반복문은 문자열 전체 길이의 / 2 만큼 돌리면 된다
  1. 반복문을 통해 확인하다가 팰린드롬이 아니라면 check 변수를 사용하여 상태 바꿔주기

😊 작성한 코드

package String;

import java.util.Scanner;

public class 팰린드롬인지_확인하기 {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        String word = scanner.nextLine();
        int count = word.length()-1; // 맨 마지막 인덱스를 가지고 있음
        boolean check = true;
        for(int i=0; i < word.length()/2; i++) {
            if(word.charAt(i) != word.charAt(count)) {
                System.out.println(0);
                check = false;
                break;
            }
            count--;
        }
        if(check)
            System.out.println(1);
    }
}

🚨 주의사항

  • 백준문제를 자바로 푼 경우, 제출할 때는 class 이름은 Main으로, 코드 위에 package가 없어야한다.