백준 1212. 8진수 2진수
알고리즘 기초 문제 중 수학1 연습 문제(301)
1. 간단 설명
8진수가 주어졌을 때, 2진수로 변환하는 문제
예시
8진수 314가 주어지면, 2진수 11001100으로 변환하여 출력한다
2. 문제 분석
필요 변수
주어지는 수의 길이는 333,334 넘지 않는다
이는 이진수의 약 100만에 달하는 숫자
알고리즘
1
2
3
4
1. 문자열로 8진수를 입력받는다
2. 8진수로 변환할 2진수를 미리 정의해둔다
3. 각 글자별로 어떤 수로 변환될지 확인 후 출력
3-1. 만약 첫번째 글자라면, 0을 제외하기 위해 stoi 함수 사용
3. 소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
using namespace std;
int main() {
string octal;
cin >> octal;
string bin[8] = { "000","001","010","011", "100", "101", "110", "111" };
for (int i = 0; i < octal.size(); i++) {
int tmp = octal[i] - '0';
if (i == 0) cout << stoi(bin[tmp]);
else cout << bin[tmp];
}
return 0;
}
2진수 <-> 8진수 변환 문제 시리즈는 직접 구현하려하니
어디서 부터 손대야할지 당황스러웠던 부분이 좀 있었다
이번에라도 한번 경험을 해둬서 다행이다
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.