BackJoon Algorithm 2089 -2진수 (Java)

업데이트:
최대 1 분 소요

BackJoon Algorithm - Java

alt

문제

alt

풀이

  • 문제에 주어진 - 13 은 (-2 * 7) + 1과 같다
  • 나머지는 항상 양수이므로 올림 처리를 한다 (홀수일 경우) Math.ceil()함수 이용
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Back_2089 {
    public static void main(String[] args) throws IOException {

        // given
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        int n = Integer.parseInt(br.readLine());
        // when
        if (n == 0) {
            System.out.println(0);
        } else {
            while (n != 1) {
                sb.append(Math.abs(n % -2));
                n = (int) Math.ceil((double) n / (-2));
            }
            sb.append(n);
        }

        // then
        br.close();
        System.out.println(sb.reverse());
    }
}

댓글남기기