< [C++/백준 1212번] 8진수 2진수

프로그래밍 공부/백준 (C++)

[C++/백준 1212번] 8진수 2진수

Rocketbabydolls 2024. 10. 27. 23:41

 

 

 

 

문자열을 통해 출력해 주어야 한다. 수의 길이가 333334 까지 나올 수 있으므로 범위는 long long의     -2^63 (-9,223,372,036,854,775,808) 에서 2^63 - 1(9,223,372,036,854,775,807)  를 아득히 뛰어넘는다.  따라서 아래와 같이 코드를 짜면 한 변수에 굳이 값을 저장할 필요 없이 출력 가능하다.

 

 

#include <iostream>
#include <string>

using namespace std;

int main(void) {

	string eight;
	string two[8] = { "000", "001", "010", "011", "100", "101", "110", "111" };
	int temp;

	cin >> eight;

	for (int i = 0; i < eight.length(); i++) {

		temp = eight[i] - '0';
		if (i == 0) cout << stoi(two[temp]);
		else cout << two[temp];
	}
}