본문 바로가기

Algorithm/BAEKJOON

[BOJ] 12813번 이진수 연산 (C++)

728x90
반응형

https://www.acmicpc.net/problem/12813

 

12813번: 이진수 연산

총 100,000 비트로 이루어진 이진수 A와 B가 주어진다. 이때, A & B, A | B, A ^ B, ~A, ~B를 한 값을 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

#include <iostream>
#include <cstring>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    
	char a[100001]; 
	char b[100001];
	cin >> a >> b;
	
	// A & B
	for(int i = 0; i < strlen(a); i++){
		if(a[i] == '1' && b[i] == '1')
			cout << '1';
		else cout << '0';
	}
	cout << '\n';
	
	// A | B
	for(int i = 0; i < strlen(a); i++){
		if(a[i] == '1' || b[i] == '1')
			cout << '1';
		else cout << '0';
	}
	cout << '\n';
	
	// A ^ B
	for(int i = 0; i < strlen(a); i++){
		if(a[i] != b[i])
			cout << '1';
		else cout << '0';
	}
	cout << '\n';
	
	// ~A
	for(int i = 0; i < strlen(a); i++){
		if(a[i] == '0')
			cout << '1';
		else cout << '0';
	}
	cout << '\n';
	
	// ~B
	for(int i = 0; i < strlen(a); i++){
		if(b[i] == '0')
			cout << '1';
		else cout << '0';
	}
	return 0;
}

비트마스킹을 풀기 위한 논리연산자 연습문제

728x90
반응형

'Algorithm > BAEKJOON' 카테고리의 다른 글

[BOJ] 2636번 치즈 (C++)  (0) 2022.04.29
[BOJ] 20300번 서강근육맨 (C++)  (0) 2022.04.29
[BOJ] 10974번 모든 순열 (C++)  (0) 2022.03.06
[BOJ] 11659번 구간 합 구하기 4 (C++)  (0) 2022.03.06
[BOJ] 17298번 오큰수 (C++)  (0) 2022.03.05