알고리즘 문제들 으악/백준

[python]1110번 괜히 어렵게 풀었다.

빈나 2022. 3. 19. 21:03
반응형

우선은 문제를 보자 나는 리스트가 떠올랐다.

첫째 자리와 두번째 자리를 더해야만 다음 숫자를 만들 수 있다는 것을 보구 리스트는 인덱싱을 통해

자리 개념으로 더할 수 있겠다! 했다.

그래서 나온 풀이가 이거다.

a = list(input())
b = []
if len(a)<2:
    a.insert(0,"0")
n = 1
b.append(a[1]) 
c = list(str(int(a[0]) + int(a[1])))
if len(c)<2:
    c.insert(0,"0")
b.append(c[1])
while  int(a[0]) != int(b[0]) or int(a[1]) != int(b[1]) :
    c.clear
    c = list(str(int(b[0]) + int(b[1])))
    if len(c)<2:
        c.insert(0,"0")
    d = (b[1])
    b = list(d + c[1])
    n +=1
print(n)

거업나 길다. 나도 쓰면서 이거 맞나? 싶었지만 일단 완성해보았다. 기분이 좋았다

근데 풀고 다른 사람들꺼 보니까는 너무 간단했다.

연산자를 통해 자릿수를 나눈것이다.

num = int(input())
n = 0
c= num
while True:
    n += 1
    a = c//10            #십의 자리 분류(//는 소수점은 버리고 정수 몫만 취한다)
    b = c%10			 #일의 자리 분류(나머지를 구한다, 2자리수만 입력하므로 무조건 일의자리)
    c = b*10+((a+b)%10)  
    if c == num:
        break
print(n)

수학 열심히 해야겠다.

반응형