본문 바로가기

백준 온라인 저지 (BOJ) 문제풀이

백준 온라인 저지 (BOJ) 1212 8진수 2진수

문제

8진수가 주어졌을 때, 2진수로 변환하는 프로그램을 작성하시오.

입력

첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다.

출력

첫째 줄에 주어진 수를 2진수로 변환하여 출력한다. 수가 0인 경우를 제외하고는 반드시 1로 시작해야 한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
#pragma warning(disable:4996)
#pragma warning(disable:6031)
char input[340000];
char a[8][4= { "0" ,"1","10","11","100","101","110","111" };
char b[8][4= { "000" ,"001","010","011","100","101","110","111" };
int main()
{
    fgets(input, 340000, stdin);
    for (int i = 0; input[i] != '\n'; i++) {
        if (i == 0)printf("%s", a[input[i] - '0']);
        else printf("%s", b[input[i] - '0']);
    }
    putchar('\n');
    return 0;
}
cs

 

단순한 구현 문제다. 맨 앞자리 수만 조심하면 된다.