#kakao #코딩테스트
비트 연산자(XOR)을 사용하면 간결하게 작성되는 문제이다.
1. Solution
#include <iostream>
#include <vector>
using namespace std;
int x, y;
vector<int> solution(vector<vector<int> > v) {
vector<int> ans;
x = v[0][0]^v[1][0]^v[2][0];
y = v[0][1]^v[1][1]^v[2][1];
ans.push_back(x);
ans.push_back(y);
return ans;
}
2. 비트 연산자
XOR 연산 (^): 연산을 수행하는 두 값이 같으면 같은 값을, 다르면 다른 값을 반환한다.
A | B | A^B |
1 | 1 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
AND 연산 (&): 연산을 수행하는 두 값 모두 True 이여야만 True로 평가된다.
OR 연산 (|): 연산을 수행하는 두 값 중 하나 이상이 True 이여야만 True로 평가된다.
NOT 연산 (~): 연산을 수행하는 값의 bit를 0은 1로, 1은 0으로 바꾼다.
Left Shift 연산 (<<): 연산을 수행하는 값의 bit를 연산자 오른쪽에 있는 수 만큼 left로 이동시킨다.
Right Shift 연산 (>>): 연산을 수행하는 값의 bit를 연산자 오른쪽에 있는 수 만큼 right로 이동시킨다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] MySQL - JOIN 없어진 기록 찾기 (0) | 2022.04.09 |
---|---|
[프로그래머스] 완전탐색 - 모의고사 (0) | 2022.04.03 |
프로그래머스(11일 이내 해결예정) - C++ 124 나라의 숫자 (0) | 2021.10.11 |
프로그래머스(미해결) - C++ 소수찾기 (0) | 2021.10.09 |
프로그래머스 - C++ 조이스틱 (0) | 2021.10.09 |
댓글