반응형
Notice
Recent Posts
Recent Comments
- Today
- Total
작심삼일
[백준] 1373번 | 2진수 8진수 | C++ 본문
728x90
반응형
문제 링크: https://www.acmicpc.net/problem/1373
문제
2진수가 주어졌을 때, 8진수로 변환하는 프로그램을 작성하시오.
입력
첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다.
출력
첫째 줄에 주어진 수를 8진수로 변환하여 출력한다.
내 풀이
2진수를 뒤에서부터 3자리씩 끊어 각 8진수로 변환한다.
코드
char A[len], temp;
int N, ans[len], cur;
long long mul = 1;
int main() {
while (1) {
scanf("%1c", &temp);
if (temp == '\n') break;
A[N] = temp - '0'; N++;
}
for (int t = 0; t < N; t++) {
if (t % 3 == 0) {
ans[cur] += A[N - 1 - t] * 1;
cur++;
}
else if (t % 3 == 1) {
ans[cur - 1] += A[N - 1 - t] * 2;
}
else {
ans[cur - 1] += A[N - 1 - t] * 4;
}
}
for (int t = cur - 1; t >= 0; t--) {
printf("%d", ans[t]);
}
return 0;
}
728x90
반응형
'스터디 > 코테' 카테고리의 다른 글
[백준] 1517번 | 버블 소트 | C++ (0) | 2021.11.16 |
---|---|
[백준] 1406번 | 에디터 | C++ (0) | 2021.11.15 |
[백준] 1325번 | 효율적인 해킹 | C++ (0) | 2021.11.11 |
[백준] 1158번 | 요세푸스 문제 | c++ (0) | 2021.11.10 |
[백준] 1152번 | 단어의 개수 | python (0) | 2021.11.09 |
Comments