[백준] n.10988- 문자열을 거꾸로 뒤집어도 원래 문자열과 동일한지 확인하기

    SMALL

    1. 문제
    https://www.acmicpc.net/problem/10988

     

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

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

    www.acmicpc.net

     

    2. 주요 개념
    - Scanner
    - charAt()
    - 반복문 (for문)

    - 조건문 (if ~ else문)

    - continue, break


    3. 나의 풀이 (*은 잘 안풀린 부분)

    import java.io.*;
    import java.util.*;
    
    // 팰린드롬: 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어
    
    class Main {
    
      public static void main(String[] args) {
    
        Scanner s = new Scanner(System.in);
    
        String str = s.next(); // 문자열 입력받기
        String str_rev = ""; // 거꾸로 저장된 문자열
        int i, j, result = 0;
    
        for (i = str.length() - 1; i >= 0; i--) {
          str_rev += str.charAt(i); 
          // 맨 뒤의 문자부터 차례대로 받기
        }
    
        for (j = 0; j < str.length(); j++) {
          if (str.charAt(j) == str_rev.charAt(j)) {
            result = 1;
            continue; // 다른 문자들도 비교하기
          } else { // ** 문자가 서로 다르다는 것을 하나라도 발견한 순간 바로 "0"처리
            result = 0;
            break;
          }
        }
    
        System.out.println(result);
    
      }
    }



    4. 짚고 넘어가기!
    - 원래 문자열과 뒤집은 문자열에서 한 글자씩 꺼내기 > charAt()
    - 비교 시, 한 번이라도 문자가 서로 다른 경우 > break로 조건문 끝내버림!
    - 비교할 때, 문자가 서로 같으면 계속 진행 > continue!

    728x90

    댓글