[python 기초] 백준: while문(1110번) / 입력값 업데이트 하기

EMMA·2022년 2월 16일
0

[python] 백준 시리즈

목록 보기
3/14
post-thumbnail

while문 활용해서 백준 1110번-더하기 사이클 풀기


📍In a nutshell...

  • 규칙을 잘 파악하자
  • 입력값 업데이트: 입력값을 또 다른 변수에 옮겨 놓으면, 기존값과 업데이트값을 동시에 활용할 수 있다!

#1110번
처음에 입력값을 받고, 숫자를 쪼개 계속 더하여 업데이트값을 만들고, 처음 본래의 입력값으로 돌아올 때까지 계산한다. 업데이트값의 개수를 출력하면 된다.
입력값 N은 0<=N<=99이다.
입력값) 26-> 1) 2+6 = 8, 68 -> 2) 6+8 = 14, 84 -> 3) 8+4 =12, 42 -> 4) 4+2 = 6, 26
출력값) 4

업데이트값을 구하려면 아래와 같은 규칙이어야 한다.

  1. 입력값 n을 쪼갠다. n//10n%10이 각각 쪼갠 숫자가 된다.
  2. n//10n%10을 다시 더한다.
  3. 업데이트값 = (n%10*10) + 2번 값, count +=1 해준다.
  4. 업데이트값 == 입력값이 되면, 종료하고 count를 출력한다.
n = int(input()) 
new_n = n  	#업데이트값을 담을 변수 new_n 생성 
count = 0       

while True:
    a = new_n//10
    b = new_n%10 
    c = (a+b)%10 
    new_n = (b*10)+c
    count += 1
    if new_n == n:	#업데이트값이 입력값과 같으면 while문 종료 
        break

print(count)

여기서 중요한 점은, 입력값을 새로운 변수에 넣어서 총 2개 변수를 만들어야 한다는 것이다. 그렇지 않으면, 처음 입력값을 담은 n 이 계속 업데이트가 되고, 마지막에 숫자 비교를 할 수 없게 된다.
그래서 입력값을 nnew_n에 각각 담아 new_n == n이 성립되도록 해줘야 한다.




출처: 백준

profile
예비 개발자의 기술 블로그 | explore, explore and explore

0개의 댓글