티스토리 뷰

728x90

문제

- 뒤에서부터 읽어도 똑같은 단어를 팰린드롬이라고 함

- 수의 숫자들을 뒤에서부터 읽어도 같다면 그 수는 팰린드롬수

- 앞에 무의미한 0이 올 수 있다면 010이 되어 팰린드롬수로 취급할 수도 있지만, 이 문제에서는 무의미한 0이 앞에 올 수 없음

- 121, 12421 등이 팰린드롬수

 

해결방법

입력받은 숫자를 문자열로 취급하여, 맨 뒤부터 접근하여 거꾸로 뒤집은 숫자를 입력받은 숫자와 비교할 수 있도록 하였다. 

이 과정에서 두 숫자가 같으면 팰린드롬수로 판단하여 yes를, 다르다면 팰린드롬수가 아니기 때문에 no를 출력할 수 있도록 하였다.

 

코드

import java.io.*;
import java.util.*;

class Main{
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        while(true){
            String num = br.readLine();			// 입력 받은 수
            if(Integer.parseInt(num) == 0) break;

            String reverseNum = "";			// 뒤집은 수

            for(int i = num.length()-1; i>=0; i--){
                reverseNum += num.charAt(i);		// 입력 받은 수를 뒤집어 저장
            }

            if(num.equals(reverseNum)){			// 두 수 비교
                System.out.println("yes");
            }else{
                System.out.println("no");
            }
        }

        br.close();
    }
}
728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday