
&: AND 연산자
|: OR 연산자
^: XOR 연산자
비트 연산자를 사용하면 빠르게 풀 수 있는 문제. 근데 만약 실전에서 만났으면 비트 연산자 몰라서 노가다 했을 거 같다.
벽을 1이라고 하고 공간을 0이라고 했을 때, 둘 중 하나라도 1이면 1이 되는 XOR 연산자를 사용하면 구할 수 있다.
def convert(num1, num2):
return bin(num1 | num2)
def solution(n, arr1, arr2):
answer = []
for i in range(n):
row = convert(arr1[i], arr2[i])[2:].zfill(n).replace('1', '#').replace('0', ' ')
answer.append(row)
return answer