[프로그래머스] Lv1. 비밀지도 (2018 카카오 공채)

lemythe423·2023년 9월 10일
0
post-thumbnail

🔗

풀이

비트 연산자

& : 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
        
profile
아무말이나하기

0개의 댓글