haju__log
[python][백준/BOJ] 1110번 : 더하기 사이클 본문
반응형
https://www.acmicpc.net/problem/1110
✅ 문제풀이
- 입력받은 정수 n 이 10보다 작으면 앞에 0을 붙여서 ex> '01' 로 반환해 nn으로 저장해서 넘겨준다.
- 만약 10보다 크면 그냥 문자열로만 바꿔서 nn으로 넘겨준다.
- nn값을 가지고 while문을 반복한다.
- 일단 각각의 자리값을 정수로 바꾸어 합(hap)의 값을 구한다.
- 합의 제일 오른쪽 자리 (hap[-1)와 nn 문자의 제일 오른쪽 자리(nn[-1])를 자리그대로 붙여서 w라는 새로운 문자를 만든다.
- flag의 값 증가시킨다. flag는 사이클의 횟수 저장하는 변수
- w가 처음 입력받았던 n과 동일할 때 while문을 멈추고, 아니라면 nn값을 w로 바꿔주고 다시 반복문 재실행함.
import sys
n=int(sys.stdin.readline())
flag=0
if n < 10:
nn = '0' + str(n)
else:
nn=str(n)
while True:
hap=int(nn[0])+int(nn[1])
hap=str(hap)
w=nn[-1]+str(hap[-1])
flag+=1
if n==int(w) :
break
else:
nn=w
print(flag)
반응형
'BOJ_백준' 카테고리의 다른 글
[python][백준/BOJ] 1284번 : 집주소 (0) | 2023.08.19 |
---|---|
[python][백준/BOJ] 1247번 : 부호 (0) | 2023.08.19 |
[python][백준/BOJ] 2161번 : 카드1 (0) | 2023.08.19 |
[python][백준/BOJ] 2407번 : 조합 (0) | 2023.08.14 |
[python][백준/BOJ] 3049번 : 다각형의 대각선 (0) | 2023.08.14 |