2022 중앙대학교 CHAC 풀이
A   [BOJ 24389] 2의 보수
B   [BOJ 24393] 조커 찾기
C   [BOJ 24392] 영재의 징검다리
D   [BOJ 24390] 또 전자레인지야?
E   [BOJ 24395] 명진이의 신년계획

1. 문제

$24389$. 2의 보수 (2022 중앙대학교 CHAC Open Contest A번)

백준 24389번 - 2의 보수 (https://www.acmicpc.net/problem/24389)

2. 풀이

$2$의 보수는 문제에 기재되어 있듯이, 해당하는 숫자의 모든 비트를 반전시킨 $1$을 더해 만들 수 있다. 그러나 위 방법 말고도 최상위 비트의 왼쪽 비트를 통해 만들어지는 $2$의 승수에서 원래 수를 빼서 만들 수도 있다.

$32$비트 기준이므로 $(1<<32)$에서 원래 수를 빼서 $2$의 보수를 만들 수 있다. ($1$을 더하는 작업이 어려울 것 같아서 원래 기재된 방법을 사용하지 않았다.)

원래 수와 $2$의 보수의 서로 다른 비트 수를 확인할 때에는 각 자리의 비트를 XOR 연산을 했을 때 $1$이 나오는지를 확인하면 된다.

3. 채점 결과

boj-24389

4. 회고

.

5. 코드

댓글남기기