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;
}
뭐가 문제일까요... 다 맞게한거 같은데.. 백준에서 안되네요..
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력