상세 컨텐츠

본문 제목

Softeer Lv2. [21년 재직자 대회 예선] 전광판 (비트마스킹 / with Python)

Python알고리즘

by 앱등개발자IOS 2023. 11. 28. 17:06

본문

지적인 호기심을 불러일으키는 재미있는 문제였다.

 

각 숫자를 나타낼 때, 켜져야 할 전구들의 위치를 1과 0으로, 총 7자리의 2진수로 표현하였고, 이를 bit_dict 딕셔너리에 저장해두었다.

 

'0'에서 '1'로 바뀔 때 켜지거나 꺼져야하는 ( 두 경우 다른 값을 나타내는) 전구 갯수를 구하는 것은 XOR연산 (^)을 사용하였다.

그렇다면, XOR연산의 결과로 나온 값에서 1의 갯수는 어떻게 셀까?!!

 

펜윅트리에서 배웠던 i = (i & -i) 연산을 활용하였다.

관련글 더보기