084. 비트 연산기
Medium
바이브코딩
MCPBitMath
문제 설명
[문제]
비트(bit) 연산을 수행하는 MCP 서버를 구현한다.
비트 연산이란 정수를 2진수로 본 뒤 각 자리(0 또는 1)끼리 직접 계산하는 것이다. 예를 들어 5는 2진수로 101, 3은 011이다.
- AND(그리고): 두 자리가 모두 1일 때만 1. 101 & 011 = 001 = 1
- OR(또는): 두 자리 중 하나라도 1이면 1. 101 | 011 = 111 = 7
- XOR(배타적 또는): 두 자리가 서로 다를 때만 1. 101 ^ 011 = 110 = 6
또한 어떤 수를 2진수로 썼을 때 1이 몇 개인지 세는 연산도 제공한다. 5(=101)에는 1이 2개 있다.
[구현할 함수]
- bitwise_and(a: int, b: int) -> int
a와 b의 비트 AND 결과를 반환한다.
- bitwise_or(a: int, b: int) -> int
a와 b의 비트 OR 결과를 반환한다.
- bitwise_xor(a: int, b: int) -> int
a와 b의 비트 XOR 결과를 반환한다.
- count_bits(number: int) -> int
number를 2진수로 표현했을 때 1의 개수를 반환한다.
[입력·상태]
별도의 상태를 유지하지 않는다. 각 호출은 인자만으로 결과가 정해진다.
[제약]
- 인자는 정수이다.
- 네 함수 모두 정수(int)를 반환한다.
[예시]
bitwise_and(5, 3) -> 1 # 101 & 011 = 001
bitwise_or(5, 3) -> 7 # 101 | 011 = 111
bitwise_xor(5, 3) -> 6 # 101 ^ 011 = 110
count_bits(5) -> 2 # 101 에 1이 2개
로그인하고 풀기
AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.