[JAVA] 백준 21396 : 이진수 더하기
·
백준/Java
백준 21396 : 이진수 더하기문제 설명테스트 수 T회N개의 수 v[i]를 입력으로 받아올림이 없는 이진수 덧셈의 결과가 x인 갯수를 구하는 문제입니다.입력값이 크므로 long 자료형을 사용해야합니다. (35%에서 틀렸을 경우 참고)풀이 방법핵심은 XOR 연산의 특징을 이용하는 것입니다.받아올림이 없는 이진수 덧셈 : 1(2) + 1(2) = 0(2) , 1(2) + 0(2) = 1(2), 0(2) + 0(2) = 0(2)즉, 두개의 비트가 다르면 1, 같으면 0을 출력하는 XOR연산과 동일합니다.임의의 두 수 a, b가 있다고 할 때, a ^ b = x라면, 이는 b = a ^ x와 동일합니다.즉, 어떤 수 a가 존재할 때 a ^ x가 집합에 존재한다면 (a, a^x)는 조건을 만족하는 쌍입니다.중복..