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)
블로그를 옮기고 있는데 원본 작성할 때 뭔가 써둔 말이 없네요?
좀 있다가 한번 읽어봐야겠습니다.
'코딩' 카테고리의 다른 글
[BOJ] 백준 1463 1로 만들기 Python (0) | 2023.10.27 |
---|---|
[BOJ] 백준 1790 수 이어 쓰기2 Python (0) | 2023.10.27 |
[BOJ] 백준 1059 좋은 구간 Python (0) | 2023.10.27 |
[BOJ] 백준 2553 마지막 팩토리얼 수 Python (0) | 2023.10.27 |
[BOJ] 백준 28353 고양이카페 Python (1) | 2023.10.27 |