알고리즘/삼성 SW expert Academy

[SWEA] 10726. 이진수 표현_JAVA

뇌장하드 2022. 5. 21. 20:33

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AXRSXf_a9qsDFAXS 

 

SW Expert Academy

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

swexpertacademy.com

 

비트마스킹을 배우면 쉽게 풀수 있다.

 

핵심 

마지막 N개의 비트를 표현해주기 위해 (1 << N) - 1 을 사용한다.

 

import java.util.Scanner;
import java.util.*;
import java.io.*;
class Solution{
    public static void main(String args[]) throws Exception{
         BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        int T=Integer.parseInt(br.readLine());
        for(int test_case = 1; test_case <= T; test_case++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int n = Integer.parseInt(st.nextToken());
            int m = Integer.parseInt(st.nextToken());
            int x=(1<<n)-1;
            System.out.println("#"+test_case+" "+(((m & x) == x) ? "ON" : "OFF"));
        }
    }
}