코딩

[BOJ] 백준 2877 4와 7 Python

척척석사아님 2023. 10. 27. 11:27
728x90
#2877번 4와 7
import sys
import math
input = sys.stdin.readline

N = int(input())

digit = 1
word = []
while True:
    if 2**(digit) - 1 <= N and N <= 2**(digit+1) - 2:
        break
    else:
        digit += 1

while digit != 0:
    if 2**(digit) - 1 <= N and N <= 2**(digit) -2 + (2**(digit - 1)):
        word.append("4")
        N -= 2**(digit - 1)
        digit -= 1
        
    else:
        word.append("7")
        N -= 2**digit
        digit -= 1
  
result =  "".join(str(s) for s in word)
print(result)

 

블로그를 옮기고 있는데 원본 작성할 때 뭔가 써둔 말이 없네요?

좀 있다가 한번 읽어봐야겠습니다.