본문 바로가기
백준

[백준] 1110번 : 더하기 사이클 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 6. 28.
728x90
반응형

 

 

1110번: 더하기 사이클

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

www.acmicpc.net

 

1. 문제 설명

2. 풀이과정

  1. 0부터 99 사이의 숫자 중 임의의 수 하나를 입력받는다. N = int(input())
  2. 새로운 수를 만들 변수 num을 생성하고 N을 대입한다. num = N
  3. N의 사이클의 길이를 구할 변수 count를 생성하고 초기화한다. count = 0
  4. 무한 반복문을 사용하여 원하는 시점에서 종료할 수 있도록 구현한다. while True
  5. num의 각자리 수를 더한 값의 1의 자리와 기존 num의 1의 자리 수 뒤에 이어 붙여 만들어진 새로운 두 자릿수 num을 새로 저장한다. num = ( (num % 10) * 10) + ( ((num // 10) + (num % 10)) % 10 ) )
  6. 연산이 수행되었으므로 N의 사이클의 길이인 count를 1증가시킨다. count += 1
  7. 만약 새로 저장된 num이 초기 입력 값인 N과 같아진다면 if (num == N)
  8. 그리고 지금까지 구한 사이클의 길이를 출력한다. print(count)
  9. 그리고 반복을 탈출한다. break
반응형

3. 소스코드

N = int(input())
num = N
count = 0

while True: 
    num = ( (num % 10) * 10 ) + ( ((num // 10) + (num % 10)) % 10 )
    count += 1
    
    if( num == N ):
        print(count)
        break
728x90
반응형