BOJ_3460_이진수

Swimming_Ram·2025년 7월 14일
0
post-thumbnail
package samsung01;

import java.io.*;

public class BOJ_3460_이진수 {

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

        int testcase_num = Integer.parseInt(br.readLine());

        for (int i = 0; i < testcase_num; i++) {
            int target_num = Integer.parseInt(br.readLine());
            int idx = 0;

            StringBuilder sb = new StringBuilder();

            while (target_num > 0) {
                if (target_num % 2 == 1) {
                    sb.append(idx).append(" ");
                }
                target_num /= 2;
                idx++;
            }

            System.out.println(sb.toString().trim());
        }
    }
}

이 문제에서는 여러 개념들을 필요로 한다.

  1. StringBuilder와 Int형의 관계

왜 인트형변수 idx에 append가 적용될 수 있는가?

sb.append(idx).append(" ");
//StringBuilder는 내부 변수를 자동으로 변환해서 처리해 줌

int idx = 2;
sb.append(idx).append(" ");
//이런 느낌으로 작동이 되기 때문에

sb = "2 " 가 된다.
profile
Swimming is good at loss Weight

0개의 댓글