비트연산으로 풀이하라고 준 문제인 듯 싶다.
Level2 문제가 맞나 싶었다....
digi에 먼저 각 숫자 별 전구로 나타낼 때 켜져야하는 위치를 2진수 형태로 변환한 수의 10진수 형태를 저장하였다.
( 1의 경우 2, 5 번째만 1이므로 0010010 0> 18이 됨)
dif(a, b) 함수는 두 숫자의 대응하는 각 자리를 체크하며, 양 숫자를 나타내는 전구 위치를 digit에서 가져와 XOR(^)연산 하였고,
그 결과로 나온 값을 count_one()함수에 보내 1의 갯수를 세주었다..
이렇게 총 5자리에 대해 체크해주면 된다.
Softeer Level4: 복잡한 조립라인1 (Dynamic Programmin / with Python) (0) | 2023.10.02 |
---|---|
Softeer Level 2: GBC (구현 / with Python) (0) | 2023.10.01 |
Softeer Level2: [21년 재직자 대회 예선] 비밀 메뉴 (구현 / with Python) (0) | 2023.09.30 |
Softeer Level 5: 복잡한 조립라인 2 (DP / with Python) (0) | 2023.09.29 |
Softeer Level 1: 근무 시간 (구현 / with C) (0) | 2023.09.29 |