2진수를 8진수로 변환하는 코드 뭐가 문제일까요?

조회수 676회
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;

int main() {
    string input, output;
    cin>>input;
    reverse(input.begin(), input.end());
    int sum;
    int cnt = 3-(input.length()%3);
    while(cnt--){
        input += '0';
    }
    for(int i=0; i<input.length()+cnt; i+=3){
        sum=0;
        sum += (input[i]-'0');
        sum += (input[i+1]-'0')*2;
        sum += (input[i+2]-'0')*2*2;
        output+=sum+'0';
    }
    int idx=1;
    while(output[output.length()-idx] == '0'){
        output.erase(output.length()-idx);
        idx++;
    }

    reverse(output.begin(), output.end());
    cout<<output<<endl;
    return 0;
}

뭐가 문제일까요... 다 맞게한거 같은데.. 백준에서 안되네요..

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)