백준 1110번

    문제

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

     

    1110번: 더하기 사이클

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

    www.acmicpc.net

    나의 풀

    n=int(input())
    newint=100
    count=0
    temp1=n
    while n!=newint:
    	temp=temp1//10+temp1%10
    	newint=10*(temp1%10)+temp%10
    	temp1=newint
    	count+=1
    print(count)

    다른 사람의 풀이

    n = int(input())
    aim = n
    step = 0
    while True:
        n = 10*(n%10)+(n//10+n%10)%10
        step+= 1
        if n == aim:
            break
    print(step)

    변수를 하나 덜 사용하여 조금 더 알아보기 간편하게 코드를 작성하였다. 복잡하지 않고 간단하게 최소한의 변수로 알기 쉬운 코딩을 해야겠다.

    댓글