티스토리 뷰

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

Integer 클래스의 toBinaryString()을 사용하면 10진수 -> 2진수로 변환한 값을 반환한다.

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

class Solution {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        int T = Integer.parseInt(br.readLine());
        for (int t = 1; t <= T; t++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int n = Integer.parseInt(st.nextToken());
            int m = Integer.parseInt(st.nextToken());

            String binary = Integer.toBinaryString(m);

            int cnt = 0;
            String str = "";
            for(int i = binary.length() - 1; i >= 0; i--) {
                if(cnt == n)
                    break;
                str += binary.charAt(i);
                cnt++;
            }

            boolean flag = false;
            if(cnt == n && str.indexOf('0') == -1) {
                flag = true;
            }

            sb.append("#" + t + " " + (flag ? "ON" : "OFF") + "\n");
        }

        System.out.println(sb);
    }
}
Total
Today
Yesterday
최근에 올라온 글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30