//1번
#include <bits/stdc++.h>
using namespace std;
string convertToBinary(int num) {
string binaryStr = "";
while (num > 0) {
int remainder = num % 2;
binaryStr = to_string(remainder) + binaryStr;
num /= 2;
}
return binaryStr;
}
int main() {
string octalStr;
cin >> octalStr;
// 입력이 0인 경우 예외 처리
if (octalStr == "0") {
cout << 0;
} else {
string binaryStr = "";
// 각 자리의 8진수 숫자를 2진수로 변환하여 이어붙임
for (char digit : octalStr) {
int num = digit - '0'; // char를 int로 변환
string binaryDigit = convertToBinary(num);
// 각 자리의 2진수를 3자리로 맞춰줌
while (binaryDigit.size() < 3) {
binaryDigit = "0" + binaryDigit;
}
binaryStr += binaryDigit;
}
// 첫 번째 자리가 0인 경우 0을 제외하고 출력
int startIdx = 0;
while (binaryStr[startIdx] == '0') {
startIdx++;
}
cout << binaryStr.substr(startIdx);
}
return 0;
}
//2번(인터넷 참고)
#include <bits/stdc++.h>
using namespace std;
string eight;
string two[8]={"000","001","010", "011", "100", "101", "110", "111"};
int tmp;
int main(){
cin >> eight;
for(int i=0; i<eight.size(); i++){
tmp = eight[i]-'0';
if(i==0){
cout << stoi(two[tmp]);
}else cout << two[tmp];
}
return 0;
}
'코테' 카테고리의 다른 글
백준 1233번 -주사위 (0) | 2023.08.06 |
---|---|
백준 1225번- 이상한 곱셈 (0) | 2023.08.04 |
백준 1173번-운동 (0) | 2023.07.31 |
백준 1159번- 농구 경기 (0) | 2023.07.30 |
백준 1157번 - 단어 공부 (0) | 2023.07.28 |