https://www.acmicpc.net/problem/31926
def min_time_to_create_song(n):
# 초기값 설정
ans = 10 # n이 1일 때 기본적으로 필요한 시간
# 복사 가능한 크기의 기준점
cri = 1
while n >= cri * 2:
ans += 1
cri *= 2
return ans
def main():
import sys
input = sys.stdin.read
n = int(input().strip())
result = min_time_to_create_song(n)
print(result)
if __name__ == "__main__":
main()
달디달디달디달고 단 밤양갱 갱 갱~
문자열 daldidalgo가 번 반복된 후 daldidan으로 끝난다.
이진법과 비슷한 방식으로 접근하여 복사 붙여넣기 작업을 효율적으로 수행하여 최소 시간을 찾는 문제.