8진수 2진수

BiBi·2021년 1월 21일
0

코딩테스트연습

목록 보기
47/66
#include <algorithm>
#include <iostream>
#include <stdio.h>
#include <vector>
#include <map>
#include <stack>
#include <queue>
#include <deque>
#include <string>
#include <cmath>
using namespace std;



int main() {
	//freopen("input.txt", "rt", stdin);
	string n;
	cin >> n;
	int s = n.length();
	vector<int> v;
	for (int i = 0; i < s; i++) {
		int num = (int)(n[i]-'0');
		stack<int> st;

		while (num > 0) {
			int tmp = num % 2;
			st.push(tmp);
			num /= 2;
		}
		int stsize = st.size();
		if (stsize < 3) {
			for (int j = 0; j < 3-stsize; j++) {
				v.push_back(0);
			}
		}
		for (int j = 0; j < stsize; j++) {
			v.push_back(st.top());
			st.pop();
		}
	}
	if (n != "0") {
		int tmp=0;
		for (int i = 0; i < v.size(); i++) {
			if (v[i] != 0) {
				tmp = i;
				break;
			}
		}
		for (int i = tmp; i < v.size(); i++) {

			printf("%d", v[i]);
		}
	}
	else {
		printf("0");
	}
	
	


	return 0;
}
profile
Server Network Engineer

0개의 댓글