[Algorithm] SWEA : 10726. 이진수 표현 by Python

엄희관·2020년 11월 24일
0

Algorithm

목록 보기
9/128
post-custom-banner

📌문제 설명

정수 N, M 이 주어질 때, M의 이진수 표현의 마지막 N 비트가 모두 1로 켜져 있는지 아닌지를 판별하여 출력하라.

💡 문제 풀이

비트가 켜져있다.(= 나머지가1이다.)로 접근하여 풀이하였다.

N만큼 반복하여 M을 2로 나누었을 때 나머지가 계속해서 1이되는 홀수면 'ON' 그렇지 않으면 'OFF'를 출력하면 된다.

def check():
    global N, M
    for i in range(N):
        if not M % 2:
            return False
        M //= 2
    else:
        return True

T = int(input())
for tc in range(T):
    N, M = map(int, input().split())
    res = 'ON' if check() else 'OFF'
    print('#{} {}'.format(tc+1, res))
실수로 M값을 초기화하는 M //= 2 부분을 생략했었다... 요즘 알고리즘 문제를 풀 때 실수가 잦은데 주의하자ㅏㅏ!!!
profile
허브
post-custom-banner

0개의 댓글