Problem Solving/BOJ

[Silver 4] 2089번 -2진수

kmkunk 2022. 3. 25. 16:42
import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        String ans = "";
        
        if(n==0) { System.out.println(0); return; }
        
        while(n!=0) {
            if(n>0) {
                if(n%2==0) {
                    ans = "0" + ans;
                    n = -(n/2);
                } else {
                    ans = "1" + ans;
                    n = -(n/2);
                }
            } else {
                if(n%2==0) {
                    ans = "0" + ans;
                    n = -(n/2);
                } else {
                    ans = "1" + ans;
                    n = (1-n)/2;
                }
            }
        }
        
        System.out.println(ans);
    }
}