본문 바로가기
Develop/Python + SWEA

[SW Expert Academy] 10726. 이진수 표현

by Tarra 2022. 3. 25.

10726. 이진수 표현


문제)

 

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

 

[입력]

첫 번째 줄에 테스트 케이스의 수 TC가 주어진다.
이후 TC개의 테스트 케이스가 새 줄로 구분되어 주어진다.
각 테스트 케이스는 다음과 같이 구성되었다.
첫 번째 줄에 정수 N, M이 주어진다. (1 ≤ N ≤ 30 , 0 ≤ M ≤ 108)

 

 

 


[출력]

각 테스트 케이스마다 한 줄씩
마지막 N개의 비트가 모두 켜져 있다면 ON
아니면 OFF 를 출력하라.

 

 

 

풀이)

 

1
2
3
4
5
6
7
8
9
10
11
= int(input())
for _ in range(T):
    n, m = map(int, input().split())
    answer = ""
 
    while len(answer) != n:
        answer = str(m % 2+ answer
        m //= 2
 
    answer = answer.zfill(n)
    print(f"#{_ + 1}","ON" if answer[-n:] == "1" * n else "OFF")
cs

문제 출처 : https://swexpertacademy.com/main/main.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

※ SW Expert 아카데미는 원칙적으로 문제를 무단 복제하는 것을 금지합니다.

학습용으로 문제를 가져왔으나, 문제가 될 시 수정 및 삭제하겠습니다.