[백준] 14561번 회문 - Java

syeony·2025년 7월 22일
0

Java

목록 보기
21/26

문제 바로가기

접근방식

10진수 수를 2,3,4,5...진수로 어떻게 바꾸더라?
찾아보니

Long.toString(a,b); //a:10진수 b:원하는 진수

이렇게 바꾸면 된다고 한다.

런타임에러가 계속 났던 이유

Long타입을 써야 하는데 int타입을 써서...
애초에 십진수 수가 100,000,000,000이하인데 당연히 Long을 써야...
생각을 못했다.

정답코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class b2_14561 {
    public static void main(String[] args) throws Exception{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        int n=Integer.parseInt(br.readLine());

        for(int i=0;i<n;i++){
            StringTokenizer st=new StringTokenizer(br.readLine());
            long a=Long.parseLong(st.nextToken());
            int b=Integer.parseInt(st.nextToken());

            String c=Long.toString(a,b);
            String reverse_c=new StringBuilder(c).reverse().toString();

            if(c.equals(reverse_c)){
                System.out.println(1);
            }else{
                System.out.println(0);
            }
        }
    }
}
profile
cross platform과 aOS, iOS에 관심이 많은 모바일 개발자 지망생 오승연입니다

0개의 댓글