시작은 미약하였으나 , 그 끝은 창대하리라

파이썬) 백준_1110번 본문

프로그래밍 연습문제/파이썬_연습문제

파이썬) 백준_1110번

애플파ol 2022. 1. 28. 14:59

 

 

● 코드 (리스트 활용한 풀이)

K=input()
N=list(K)
if len(N)==2:                # N 이 10이상 일때

    a,b=map(int,N)           # 정수로 변환
    A=a                      #처음 10 의 자리
    B=b                      #처음  1 의 자리
    num=0
    while True:                # 처음이랑 마지막 같으면 탈출    

        c=(a+b)                # a+b는 1의 자리,b는 10의자리      
        c=list(str(c))
        
        if a+b>=10:
            a=b
            b=int(c[1]) 
            
        elif a+b<10:
            a=b                 # 기존의 1의 자리 -> 새로운 10의 자리
            b=int(c[0])

        num=1+num               # 1+ 을 씀으로써 루프 돌때마다 증가
        if A==a and B==b:
            print(num)
            break

if len(N)==1:                   # N 이 1의 자리숫자 일때

    b=int(N[0])    # 정수로 변환
    a=0     #처음 10 의 자리
    B=b     #처음  1 의 자리
    num=0

    while True:           # 처음이랑 마지막 같으면 탈출    

        c=(a+b)           # a+b는 1의 자리,b는 10의자리      
        c=list(str(c))
    
        if a+b>=10:
            a=b
            b=int(c[1]) 
            
        elif a+b<10:
            a=b                # 기존의 1의 자리 -> 새로운 10의 자리
            b=int(c[0])

        num=1+num              # 1+ 을 씀으로써 루프 돌때마다 증가
        if  B==b and a==0:
            print(num)
            break

● 보완해야할점

          1)   숫자를 이용한 계산을 할때 리스트를 통하여 만들어 낼수도 있지만

                산술 연산자- 몫구하기(//)(10의자리) , 나머지 연산자(%)(1의자리) 를 사용하여 

                손쉽게 활용할 수 있다.

N=int(input())

                  # 10 의 자리 구하기
a=N//10
print(a) 
print(type(a))


                  # 1 의 자리 구하기
b=N%10            # 나머지 연산자 사용
print(b)
print(type(b))


#출력값
57
5
<class 'int'>
7
<class 'int'>
Comments