본문 바로가기
CODE/Python

백준 1110 더하기 사이클 Python

by zerozero\base 2021. 7. 18.

생각보다 많이 까다로웠다.

int 형식과 str 형식을 넘나들며 자릿수를 더하고 붙이는 사이클을 만드는 코딩이었다.

 

겨우 정답을 만들어내고 제출된 답안 목록을 보다가 유독 짧게 완성하신 분이 있었다.

살펴보니 10으로 나눠서 십의자리와 일의자리를 분리한 것을 보고 무릎을 팍 쳤다.

이랬으면 정말 간단했을텐데!

 

문제를 단순히 그대로 옮기는 것도 중요하지만,

숫자를 활용하는 아이디어를 도출해내는 것도 중요하다는 생각이 들었다.

import sys
input = sys.stdin.readline
i = 0
first = input()
second = first
while 1:
    if int(second) < 10: ## 한자릿수에 0붙여 두자리 만들기
        second = "0" + second
    else: second
    second1 = int(second[0])
    second2 = int(second[1])
    if second1 + second2 < 10:
        secondsum = second1 + second2
        secondsum = "0" + str(secondsum)
    else:
        secondsum = second1 + second2
        secondsum = str(secondsum)
    second = second[1] + secondsum[1]
    if int(second) < 10: ## 두자릿수인 한자리수를 진짜 한자리수로 만들기
        second = str(int(second))
    else : second
    i += 1
    if int(second) == int(first) :
        print(i)
        break

https://www.acmicpc.net/problem/1110

'CODE > Python' 카테고리의 다른 글

코드업 6098 성실한 개미 Python  (0) 2021.07.28
백준 2562 최댓값 Python  (0) 2021.07.18
백준 10951 A+B Python  (0) 2021.07.16
input() 함수 시간초과  (0) 2021.07.14
백준 13458 시험감독 Python  (0) 2021.07.14

댓글