지적인 호기심을 불러일으키는 재미있는 문제였다.
각 숫자를 나타낼 때, 켜져야 할 전구들의 위치를 1과 0으로, 총 7자리의 2진수로 표현하였고, 이를 bit_dict 딕셔너리에 저장해두었다.
'0'에서 '1'로 바뀔 때 켜지거나 꺼져야하는 ( 두 경우 다른 값을 나타내는) 전구 갯수를 구하는 것은 XOR연산 (^)을 사용하였다.
그렇다면, XOR연산의 결과로 나온 값에서 1의 갯수는 어떻게 셀까?!!
펜윅트리에서 배웠던 i = (i & -i) 연산을 활용하였다.
Softeer Lv3. [HSAT 7회 정기 코딩 인증평가 기출] 자동차 테스트 (이진탐색 / with Python) (0) | 2023.11.29 |
---|---|
Softeer Lv3. [HSAT 7회 정기 코딩 인증평가 기출] 순서대로 방문하기 (DFS&백트래킹 / with Python) (0) | 2023.11.28 |
Softeer Lv2. [21년 재직자 대회 예선] 비밀 메뉴 (구현 / with Python) (0) | 2023.11.28 |
Softeer LV2. GBC (구현 / with Python) (0) | 2023.11.28 |
Softeer Lv2. 지도 자동 구축 (DP, with Python) (0) | 2023.11.28 |