본문 바로가기
Java/AlgorithmPS

백준) 팰린드롬수(1259번)

by NH_club 2023. 9. 20.
 

1259번: 팰린드롬수

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

www.acmicpc.net

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        while (true) {
            String num = br.readLine();

            if (num.equals("0")) {
                break;
            }

            String numLeft;
            String numRight;

            if (num.length() % 2 == 0) {
                numLeft = num.substring(0, (num.length() / 2));
                numRight = num.substring(num.length() / 2);
            } else {
                numLeft = num.substring(0, (num.length() / 2));
                numRight = num.substring((num.length() / 2) + 1);
            }

            StringBuffer sb = new StringBuffer(numRight);
            String reversedNumRight = sb.reverse().toString();

            if (numLeft.equals(reversedNumRight)) {
                System.out.println("yes");
            } else {
                System.out.println("no");
            }

        }

    }
}

깨달은 점:

한번에 비교하면서 할 수도 있음.

for (int i = 0; i < str.length()/2; i++) {
    if (str.charAt(i) != str.charAt(str.length() - 1 - i)) chk = false;
}

 

예, 아니오 두가지 결과값이라면 boolean 타입을 쓰는 것이 직관적

 

간단한 조건문은 중괄호 생략하는 것이 직관적

'Java > AlgorithmPS' 카테고리의 다른 글

백준) 스택 수열(1874번)  (0) 2023.09.22
백준) 세로읽기(10798번)  (0) 2023.09.20
백준) 2007년(1924번)  (0) 2023.09.19
백준) 부녀회장이 될테야(2775번)  (0) 2023.09.18
백준) 단어 공부(1157번)  (0) 2023.09.17