본문 바로가기

[SW][BEAKJOON]/[SW][BEAKJOON][반복문]

[BEAKJOON][반복문][1110][Python] 더하기 사이클

반응형

PROBLEM

  - Link

Approach to the problem

  - 숫자 자리수

      (두자리 수) = (십의자리 수 * 10) + (일의자리 수)

      여기서 (일의자리 수) = (십의자리 수 / 10) 의 나머지

Code

input_num = int(input())

# num 변수에 input_num을 지정
num = input_num  
# 횟수 Count를 위한 변수 cnt 선언 & 초기
cnt = 0

while True:
    sum_num = (num // 10) + (num % 10)  # 각 자릿수를 더한수
    new_num = ((num % 10) * 10) + (sum_num % 10)  # 새로 만들어지는 수
    cnt += 1  # 사이클 카운트
    if new_num == input_num :
        break
    num = new_num  # 계산된 데이터를 다음을 위해서 변수에 저장
    
    
print(cnt)

End

  - 처음에는 그냥 자리수 2개를 String으로 변환,

    left / right로 받아서 다시 Integer로 변환하는 것으로 생각

    코드 자체가 복잡해 지는 것도 있고

    숫자가 무한으로 계속 Count 되는거 보니 조건도 안맞고

    이래저래 문제가 많아서 검색해서 확인하고 내 생각을 바꿈

반응형