-
[BOJ] 1373 :: 2진수 8진수알고리즘/BOJ(C++) 2018. 6. 19. 21:42반응형
https://www.acmicpc.net/problem/1373
2진수를 8진수로 바꾸는 간단한 문제입니다.
2진수를 3개씩 끊어서 10진수로 바꿔서 출력해주면 됩니다.
앞의 3개만 예외처리 해서 총 길이가 3의배수가 아닐경우 처리해주면 됩니다.
#include <iostream>#include <string>#include <stack>#include <cmath>using namespace std;int main(){string initial;cin >> initial;int decimal = 0;int len = initial.length();int left = len % 3;if (left == 1){cout << initial[0];}else if (left == 2){int temp = ((int)initial[0] - 48)* 2 + initial[1] - 48;cout << temp;}for (int i = left; i < len; i+=3){int temp = ((int)initial[i] - 48) * 4 + (initial[i+1] - 48)*2 + (initial[i+2] - 48);cout << temp;}cout << endl;}
반응형'알고리즘 > BOJ(C++)' 카테고리의 다른 글
[BOJ] 1929 :: 소수 구하기 (에라토스테네스의 체 구현) (0) 2018.06.19 [BOJ] 11576 :: Base Conversion (0) 2018.06.19 [BOJ] 2225 :: 합분해 (0) 2018.06.16 [BOJ] 1699 :: 제곱수의 합 (0) 2018.06.16 [BOJ]1406 :: 에디터 (0) 2018.06.16