코딩일지/python 백준 알고리즘

python 백준 알고리즘 1110번: 더하기 사이클

야언 2022. 9. 4. 18:41

https://www.acmicpc.net/problem/1110

 

1110번: 더하기 사이클

0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,

www.acmicpc.net

풀이

 

주어진 조건을 함수에 적용시켜 출력하는 문제.

처음 주어진 수가 한자리수인 경우를 감안하여 초기 풀이에 활용해 보았으나

개같이 시간초과

시간초과로 오답처리 되어, 주어진 수가 한자리수여도 상관 없는 밑의 식으로 최종답안 작성.

 

 

내 제출

N = int(input())        # 주어지는 수 ex)26
num = N
cnt = 0

while True:
    a = num//10         # 2 10의자리 숫자
    b = num % 10        # 6 1의자리 숫자 - 주어진 수가 한자리수여도 어차피 a+b에 영향이 없다
    c = (a + b) % 10    # a+b한값의 1의자리 값 2+6 = 8
    num = (b * 10) + c  # 68

    cnt += 1
    if num == N:
        break

print(cnt)