728x90
반응형
https://www.acmicpc.net/problem/1094
1094번: 막대기
지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대
www.acmicpc.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
int main() {
int target;
scanf("%d", &target);
int result;
int cnt = 0;
for (int i = 6; i >= 0; i--) {
result = target >> i & 1;//1이라면 1을 출력하는 것
if (result == 1) {
cnt++;
}
}
printf("%d", cnt);
}
|
cs |
어차피 반으로 쪼개는 것이다 보니(2로 나누니까) 비트마스킹을 하는 것이 시간이 빨랐다.
비트 이동연산과 관련하여 도움받은 내용은 아래에 첨부해 두겠다.
https://coding-factory.tistory.com/655
[C언어/C++] 10진수를 2진수로 변환 출력하기 (비트연산 활용)
8진수나 16진수의 경우와는 달리 C언어에서는 2진수를 출력해줄 수 있는 서식 문자가 없습니다. 그렇기에 2진수는 직접 구해서 출력해야 하는데 일일이 2로 나누어 거꾸로 읽지 않아도 아래와 같
coding-factory.tistory.com
728x90
반응형
'C > 백준' 카테고리의 다른 글
[C 백준] 실버 3/ 1003번 피보나치 함수 (0) | 2022.03.12 |
---|
댓글