Tech Collection

[1259] 팰린드롬 수 : Java 본문

PS/BaekJoon

[1259] 팰린드롬 수 : Java

eee_269 2021. 4. 14. 04:00
728x90
반응형
 

1259번: 팰린드롬수

입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.

www.acmicpc.net

 

문제 해석

1. String으로 받기

: 0이면 반복문 빠져나오고 종료

2. 문자열 전체길이 반만큼 반복문 돌려서 앞, 뒤 비교


2차 문제 분석

1. 0 하나가 입력되면 종료

2. 문장의 맨 앞에 0이 오더라도 포함하지 않고 숫자 형식으로 판단

: 숫자로 입력받아서 문자열로 변환

3. 0이 아닌 한 글자일때 yes

4. 문자열을 역순으로 저장하고 원래 문자열과 비교하기

: 여기서...잘 안됐었다.....

: 문자열을 반으로 나누는 방식이 잘못되었던 것 같다..!

 

Java

// Fail Code
import java.util.*;

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

        StringBuffer result = new StringBuffer();
        while(true) {
            String s = sc.nextLine();
            if(s.equals("0")) break;

            boolean ch = false;
            for (int i = 0; i < s.length() / 2; i++) {
                if (s.charAt(i) == s.charAt(s.length() - 1 - i))
                    ch = true;
                else ch = false;
            }

            if (ch) result.append("yes\n");
            else result.append("no\n");
        }
        System.out.println(result);
    }
}

import java.util.*;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        while(true) {
            int input = sc.nextInt();
            String s = Integer.toString(input);
            
            boolean ch = false;
            if(s.length() == 1){
                if(s.equals("0")) break;
                else ch = true;
            } else {
                String com = "";
                for(int i=s.length()-1; i >= 0; i--) {
                    com += s.charAt(i);
                }
                
                if(s.equals(com)) ch = true;
                else ch = false;
            }

            if (ch) System.out.println("yes");
            else System.out.println("no");
        }
    }
}

 

 

 

 

728x90
반응형

'PS > BaekJoon' 카테고리의 다른 글

[10991] 별 찍기-16 : Java  (0) 2021.04.14
[2446] 별 찍기-9 : Java  (0) 2021.04.14
[2522] 별 찍기-12 : Java  (0) 2021.04.14
[2445] 별 찍기-8 : Java  (0) 2021.04.05
[2442] 별 찍기-5 : Java  (0) 2021.04.04