CodingTest/SW Expert Academy

[ SW Expert Academy ] 5186. 이진수2

EEOOOO 2022. 11. 9. 12:31

 

아 .. 플랫폼 참 불편하다.. ㅠㅜㅠㅜ 일주일이면 익숙해지려나..? ㅠㅜㅠ

문제 관련해서 말하자면, 해당 문제에서 내가 약한 부분을 많이 보완한 것 같다..진수 변환, 형 변환 등 기초 중의 기초 내용이지만 그래서 더 하등시하고 옛날 기억들 끄집어내야했던 문제였다.

 

  • 제출회차 1차 (5 /10) FAIL .. 왜..? 
import math


T = int(input())

for test_case in range(1, T + 1):
    n = float(input())
    cnt = 0
    answer = ''
    while n > 0 and cnt < 13:
        n *= 2
        k = math.floor(n)
        n -= k        
        answer += str(k)
        
        cnt += 1
    if n != 0:
        print("#{} oveflow".format(test_case))
    else:
        print("#{} {}".format(test_case, answer))

 

  • 제출회차 1차 (10 /10) PASS
T = int(input())
# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
for test_case in range(1, T + 1):
    n = float(input())
    binary = ''
    cnt = 0
    while n > 0:
        num = n * 2
        binary += str(num)[0]
        n = num - int(num)
        cnt += 1
        if cnt > 12:
            break
    if cnt > 12:
        print("#{} {}".format(test_case, "overflow"))
    else:
        print("#{} {}".format(test_case, binary))

12, 13 범위나 0인지 따지는 제한 조건이 걸린 것 같아서 수정했고, 바로 통과 가능했다. 

 

 

풀이에 참고해야했던 개념들

 

10진수 소수 2진수 변환 내용 관련 글

 

파이썬 형 변환 내용 관련 글

 

정수부분 실수수분 분리 관련 참고 글