[백준] 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