No Rules Rules

8진수 2진수 (feat. 백준, 1212번) 본문

생활/코테

8진수 2진수 (feat. 백준, 1212번)

개발하는 완두콩 2022. 11. 8. 12:43
728x90
반응형

8진수 2진수
https://www.acmicpc.net/problem/1212

 

1212번: 8진수 2진수

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

www.acmicpc.net

 

// woohyeon.kim
// kim519620.tistory.com
#include <iostream>
#include <cmath>
#include <string>
using namespace std;
int main() {
	ios::sync_with_stdio(false), cin.tie(NULL);
    string tmp[] = { "000", "001", "010", "011", "100", "101", "110", "111" };
    string A, ans;
    cin >> A;
    for(auto& ch : A)
        ans += tmp[int(ch - '0')];
    while(ans.size() > 1 && ans.at(0) == '0')
        ans.erase(0, 1);
    cout << ans;
	return 0;
}
// *&)*@*

 

반응형
  1. 8진수의 0~7의 값은 2진수와 짝지어질 수 있습니다.
    (8진수 314 = 2진수 011 + 2진수 001 + 2진수 100)
  2. 8진수 314 = 2진수 011001100 이 되고, 시작은 0이 올 수 없으므로 11001100 을 출력해야 합니다.
  3. 따라서 8진수의 0~7에 해당되는 2진수의 문자열을 미리 정의하고 이를 붙이면 됩니다.
728x90
반응형
Comments