미궁게임 더라비린스
[2021-04-09] Digital Bitwise Operation P 프로기만러 00:02:56 P100 클리어 42명 참여 45명



22와 55 사이에 띄어쓰기가 이상한 것은 제가 ppt를 잘 못해서 생긴 일입니다 ㅠ0ㅠ


00:13 힌트) 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 = 8

hole

bitwise operation에는 and 연산, or 연산, xor 연산이 있다. (사실 not 연산도 있다)

인터넷에 검색해보면 and 연산은 &, or 연산은 |, xor 연산은 ^ 라는 것도 알 수 있다.

5와 7을 직접 or 연산을 해보면 7이 나오기 때문에 뭔가 다른 것이 숨어있다는 것을 알 수 있다!

문제의 이름을 보면 "digital" bitwise operation이다. 숫자를 디지털로 바꿔보자!

or 연산은 두 비트가 0일 때에만 0이기 때문에 디지털로 된 숫자 두 개를 or 연산을 하면 둘 다 꺼져있는 위치만 꺼진다는 것을 알 수 있다.

이것은 or 연산은 한 것의 결과는 켜져 있는 부분들의 합집합이라는 것을 알 수 있다.

이렇게 하면 5와 7을 or연산을 하면 9가 됨을 볼 수 있다!

and 연산은 둘 다 켜져 있는 위치만 켜지는 것, xor 연산은 둘 중 하나만 켜진 위치가 켜지는 것이라는 것을 and 연산과 xor 연산의 성질로 유추할 수 있다.


이제 41 | 30 을 볼 차례이다. 

bitwise operation은 숫자를 비트로 쪼갠 후에 연산하고 다시 합친다. 

41 | 30 은 4 | 3 = 9, 1 | 0 = 0 을 통해서 90이라는 것을 알아낼 수 있다.


이제 a, b, c, d를 구해보자


8^(2&5&0)=H가 되고, 8^(2&5&4)=O가 되어서 a=H, b=O가 된다.

0^1^(7&2&6)=L이 되어서 c=L이다.

(4 | 6) ^ 1 = E가 되어서 d=E이다.


이제 abcd를 합치면 HOLE가 되어서 답은 hole이다!


댓글

나무화분 2021-04-11 09:08 _
0
으으 C언어 ㅠㅠ 언제 공부하죠

10분마다 갱신됩니다.