[Baekjun/Python 3]プラス1110回


📍 問題|https://www.acmicpc.net/problem/1110
質問番号:1110
質問タイトル:プラス記号ループ
コンセプト:while文
難易度:下

に答える
この問題では、100未満の数字を入力し、各数字を加算し、1の桁を新しい数字の1の桁に変換し、元の1の桁を10の桁に変換し、入力した数字が入力した桁と同じになるまで演算を続けることができます.

ソース|https://gabii.tistory.com/entry/BaekJoonPython3-%EB%B0%B1%EC%A4%80-1110%EB%B2%88-%EB%8D%94%ED%95%98%EA%B8%B0-%EC%82%AC%EC%9D%B4%ED%81%B4
答えを出す
num = int(input())

if num < 10:
    num*=10

origin = num  #num은 newnum을 저장해서 반복문을 수행해야하므로 원래 값을 기억해줄 변수 선언
count = 0 # 로직이 몇번 돌았는지 카운팅 해 줄 변수 초기화
newnum = 0 #변화된 값을 만들어주고 num에게 전달해줄 중간 역할 변수 선언

while True:
    #만약 26이라면 2와 6을 분리 -> 2 + 6
    temp = (num // 10) + (num % 10)

    #원래 숫자의 일의 자리 숫자와 더해서 나온 더하기 값의 일의 자리 숫자를 합쳐 줘야함
    newnum = ((num % 10)*10) + (temp % 10)

    #그렇게 만들어진 새로운 숫자를  다시 쪼개서 temp에 주는 로직을 처리하기 위해 num을 넣어줌
    num = newnum
    count += 1 #반복문이 한번 돌았으니 카운팅 +1
    if newnum == origin: #수행 결과가 원래 값이랑 일치한지 검사
        break #일치 하면  while을 부수고 나오렴~
print(count)

🤷‍♀️問題を解く心得
もっと問題をやればいいでしょう.大丈夫だよ...ご飯を食べましょう.
食べ終わったら頑張ろう…勉強しながら
🚩航海99 ch 2アルゴリズム2021-03-05