-
2998번 8진수 | Baekjoon BOJ 백준 2998 C++ 코드, 해설, 풀이[백준 알고리즘]/[C++] 2021. 1. 21. 12:24728x90반응형
이번 포스팅은 백준 2998번 8진수입니다.
아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다.
2998번: 8진수
창영이는 여러 가지 진법을 공부하고 있다. 창영이는 어제 2진법을 배웠고, 오늘은 8진법을 배웠다. 이제, 2진법 수를 8진법 수로 변환하려고 한다. 창영이가 사용한 방법은 다음과 같다. 2진수의
www.acmicpc.net
기본 알고리즘
string 연습
참고
line 11-16
입력한 2진수의 길이(=ㅣ) 구한 후, 3으로 나누어 떨어지는 길이로 만들기 위한 최소 3의 배수(=t) 구하기
line 18-22
2진수의 길이가 3으로 나누어 떨어질 때까지 수의 앞에 0을 붙이기
line 30
2진수를 앞에서부터 세자리 씩 그룹 지은 string 추출
line 31
추출한 세자리 이진수를 8진수로 변환전체 코드
123456789101112131415161718192021222324252627282930313233343536373839//백준2998 8진수#include <iostream>#include <string>using namespace std;int main() {string binary;cin >> binary;int l = binary.length();int t = 1;while(true) {if (t > l) break;t += 3;}string zero = "";for (int i = 1; i < t - l; i++) {zero += '0';}binary = zero + binary;string octal = "";string cutStr = "";string toOctal = "";int cutCount = t / 3;int start = 0;for (int i = 0; i < cutCount; i++, start+=3) {cutStr = binary.substr(start, 3);toOctal = (cutStr[0] - '0') * 4 + (cutStr[1] - '0') * 2 + cutStr[2];cout << toOctal << endl;octal += toOctal;}cout << octal;return 0;}cs 728x90반응형'[백준 알고리즘] > [C++]' 카테고리의 다른 글
2439번 별 찍기 - 2 | Baekjoon BOJ 백준 2439 C++ 코드, 해설, 풀이 (0) 2021.01.23 1874번 스택 수열 | Baekjoon BOJ 백준 1874 C++ 코드, 해설, 풀이 (0) 2021.01.23 13915번 현수의 열기구 교실 | Baekjoon BOJ 백준 13915 C++ 코드, 해설, 풀이 (0) 2021.01.20 2623번 음악프로그램 | Baekjoon BOJ 백준 2623 C++ 코드, 해설, 풀이 (0) 2021.01.19 1541번 잃어버린 괄호 | Baekjoon BOJ 백준 1541 C++ 코드, 해설, 풀이 (0) 2021.01.19