[프로그래머스][level 1] 비밀지도 (카카오)

 

문제


필요 지식

  • 비트 연산자
    • |    : bit or 연산자  ex) 11011 | 01111 = 11111
    • &   : bit and 연산자  ex) 11011 & 01111 = 01011
    • a >>b :  a를 오른쪽 b만큼 으로 비트 이동 ex) 11 >> 1

해결 방법

비트 연산자를 이용하는 문제이다. 2개의 map중에 하나라도 벽이 있으면 원래 map에 벽이 있는 것이고, 1개의 map중에 벽이 둘다 없으면 원래map에도 벽이 없다. 
벽을 1이라고 생각할 수 있고, 빈 공간은 0으로 생각할 수 있다.
그렇게 하면 당연히 비트연산자 | 적용가능

코드

댓글 쓰기

0 댓글