[BOJ] 백준 1373 - 2진수 8진수

Lynn·2021년 1월 22일
0

Algorithm

목록 보기
17/43
post-thumbnail

👩🏻‍💻 문제

👩🏻‍💻 정답 코드

import java.io.*;

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

        String s = br.readLine();
        int len = s.length();
        int num;

        if(len % 3 == 1) s="00"+s;
        else if(len % 3 == 2) s="0"+s;
        for(int i=0; i<len; i+=3) {
            num=((s.charAt(i)-'0')*4 + (s.charAt(i+1)-'0')*2 + (s.charAt(i+2)-'0'));
            System.out.print(num);
        }
        br.close();
    }
} 

2진수를 세 자리씩 나눈 값을 그대로 8진수로 변환해 준 후 출력하면 되는데,
입력받은 2진수의 길이가 3의 배수가 아니라면 맨 앞자리를 0으로 채워 준 후에
charAt()-'0'으로 정수 변환 후 각 자리의 연산을 한다.
그렇게 해서 나온 8진수를 반복적으로 print 했다.

profile
wanderlust

0개의 댓글

관련 채용 정보