Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 중학1-1
- CNN
- 중학수학
- 자바 실습
- JSP/Servlet
- 데이터분석
- C++
- 데이터베이스
- 머신러닝
- SQL
- 혼공머신
- CSS
- 자바
- 파이썬
- numpy/pandas
- 데이터입출력구현
- 컴퓨터구조
- 코딩테스트
- 정보처리기사실기
- 파이썬라이브러리
- 연습문제
- 컴퓨터비전
- html/css
- 영어공부
- pandas
- 운영체제
- 텍스트마이닝
- 딥러닝
- 정수와유리수
- 정보처리기사필기
Archives
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
연산자 3 - 비트시프트와 비트단위 논리연산 코딩테스트 <코드업> 본문
이번에는 비트시프트 연산과 비트단위 논리연산 문제를 풀어보려고 한다. 비트시프트 연산은 말 그대로 비트를 이동시키는 것이다. 비트 논리연산은 두 수가 주어졌을 때 그 값을 구하는 문제이다.
이제 문제를 풀어보기로 하자! 5문제가 나와있지만 비슷한 문제는 하나 빼고 4문제를 풀어보았다.
문제 1번 <1047번>
정수 1개를 입력받아 2배 곱해 출력해보자.
#include <stdio.h>
int main(void)
{
int a;
scanf_s("%d", &a);
printf("%d", a << 1);
return 0;
}
이 문제는 왼쪽 시프트 연산자로 자리가 왼쪽으로 이동하면서 2의 거듭제곱 수가 해당 값이 된다.
문제 2번 <1048번>
정수 2개(a, b)를 입력받아 a를 2의 b(거듭제곱)배 곱한 값으로 출력해보자.
0 <= a <= 10, 0 <= b <= 10
#include <stdio.h>
int main(void)
{
int a, b;
scanf_s("%d%d", &a, &b);
printf("%d", a << b);
return 0;
}
문제 3번 <1060번>
입력된 정수 두 개를 비트단위로 and 연산한 후 그 결과를 정수로 출력해보자.
비트단위(bitwise)연산자 &를 사용하면 된다.(and, ampersand, 앰퍼센드라고 읽는다.)
#include <stdio.h>
int main(void)
{
int a;
scanf_s("%d", &a);
printf("%d", ~a);
return 0;
}
2를 and 비트 연산을 하니 -3이 나왔다.
문제 4번 <1062번>
입력된 정수 두 개를 비트단위로 xor 연산한 후 그 결과를 정수로 출력해보자.
비트단위(bitwise) 연산자 ^(xor, circumflex/caret, 서컴플렉스/카릿)를 사용하면 된다.
#include <stdio.h>
int main(void)
{
int a, b;
scanf_s("%d%d", &a, &b);
printf("%d", a ^ b);
return 0;
}
4번 문제는 xor 연산을 했다. 이 연산은 반대로 바꾸는 연산이다.
오늘의 네번째 단원 학습을 마치고
마지막 삼항 연산자 문제는 내일 풀어보려고 한다. 오늘도 2시간 반 정도 코딩 공부를 했는데 다른 공부도 할 게 많아 여기에만 시간을 많이 투자할 수가 없다.
프로그래밍은 언리얼과 달리 4~5시간을 해도 별로 질리지 않는 것 같다.
전에 시간이 많은 주말에 하루종일 공부를 할 때도 있었는데 별로 힘들지 않았었다.
내일은 선택문 개념학습에 들어가려고 한다. 비트 연산은 좀더 복습이 필요할 것 같아 다음에 한번 더 공부해볼 생각이다~
'알고리즘 및 자료 관리 > 알고리즘 & 코딩테스트' 카테고리의 다른 글
입출력 응용 - 문자와 문자열 출력 코딩 테스트 문제 (0) | 2024.08.25 |
---|---|
연산자 응용 1 - 공식을 사용하여 적용하는 코딩 테스트 문제 (0) | 2024.08.25 |
연산자 2 - 비교연산과 논리연산 코딩테스트 <코드업> (0) | 2024.08.25 |
연산자 1 - 산술연산 문제 코딩테스트 <코드업> (0) | 2024.08.25 |
데이터 출력 3 - 입출력 코딩테스트 <코드업> (0) | 2024.08.24 |