반응형
리뷰
문자열로 접근해야 하나 싶었지만 오히려 더 복잡해 질 것 같아서 그냥 지저분하게 구현하게 되었다. 최적화 코드가 있을 것 같긴 하다.
문제 풀이
- 우선 새로운 숫자를 구해준다.
- 수가 10 이상일때 일의 자리 수 * 10 + 각 자릿수를 더한 값의 일의 자리 수
- 수가 10 미만일때 일의 자리 수 * 10 + 일의 자리 수
- result는 1로 초기화 해준다. (이미 한번 실행 한 상태)
- while문을 돌며 result를 증가 시키고 작업을 반복해준다.
- 초기 n값과 현재 수가 동일할 경우 break 후 result값 출력
참고 사항
없음
정답 코드
def q1110():
# 백준 1110번 더하기 사이클 파이썬
n = int(input())
if n // 10:
n2 = (n % 10 * 10) + ((n // 10 + n) % 10 % 10)
else:
n2 = n * 10 + n
result = 1
while n != n2:
result += 1
if n2 // 10:
n2 = (n2 % 10 * 10) + ((n2 // 10 + n2) % 10 % 10)
else:
n2 = n2 * 10 + n2
print(result)
q1110()
728x90
반응형
'알고리즘 공부 > 파이썬(Python)' 카테고리의 다른 글
백준 4673번 셀프 넘버 파이썬 (0) | 2024.07.05 |
---|---|
백준 2577번 숫자의 개수 파이썬 (0) | 2024.07.05 |
백준 19947번 투자의 귀재 배주형 파이썬 (0) | 2024.07.03 |
SWEA 2805번 D3 농작물 수확하기 파이썬 (0) | 2024.07.02 |
백준 27396번 파이썬 문자열 변환과 쿼리 (1) | 2024.07.01 |