[알고리즘]/백준
자바 - 구현 - 백준 3460 이진수
broship
2021. 5. 2. 20:24
문제

문제해결
import java.util.Scanner;
public class B3_3460 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
//2진수 담을 String 배열
String[] binary = new String[n];
//2진수 구하기
for (int i = 0; i < n; i++) {
int num = sc.nextInt();
String tmp = "";
while (num!=1){
tmp += num%2;
num /= 2;
}
tmp += num;
binary[i] = tmp;
}
//1의 위치 찾아 출력하기
for (String tmp : binary){
for (int i = 0; i < tmp.length(); i++) {
if (tmp.charAt(i)=='1'){
System.out.print(i+" ");
}
}
}
}
}
- 2진수를 while문을 통해 하나하나 구해서 1의 위치를 출력하는 방법이다.
- 구글링 해보니 toBinaryStirng() 메소드를 통해 쉽게 2진수를 구할 수 있었다