-
백준 1373 - 2진수 8진수백준 algorithm 2020. 3. 26. 20:21반응형
=> 수의길이가 1000000 이므로 실제수로는 구현할 수 없다.
=> 11, 001, 100 의 예시를 들어보자
=> 3, 1, 4
=> 위와 같이 뒤에서부터 3개씩 나누어 수를 8진수로 변환할 수 있다.=> 4의 자리, 2의 자리, 1의 자리를 차례대로 곱하고 더하여 출력한다.
***
string에 있는 숫자를 실제 숫자로 print하기 위해서 '0' 을 빼주고 계산한다.#include <iostream> #include <string> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); string S; cin >> S; int len = S.length(); if(len%3 == 1) { cout << S[0]; } else if(len % 3 == 2) { cout << (( S[0]-'0') * 2 ) + ((S[1] - '0') *1) ; } for( int i = len %3; i< len; i=i+3) { cout << ((S[i]-'0') * 4) + (( S[i+1]-'0') * 2 )+ ( (S[i+2] - '0') *1); } return 0; }
반응형'백준 algorithm' 카테고리의 다른 글
백준 2675 - 문자열 반복 (0) 2020.03.26 백준 10809 - 알파벳 찾기 (0) 2020.03.26 백준 17103 - 골드바흐 파티션 (0) 2020.03.26 백준 1152 - 단어의 개수 (0) 2020.03.18 백준 17087 - 숨바꼭질 6 (0) 2020.03.18