티스토리 뷰
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);
}
}