본문 바로가기

백준 파이썬 코딩

백준 1769 3의 배수 파이썬

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

 

1769번: 3의 배수

문제가 잘 풀리지 않을 때, 문제를 바라보는 시각을 조금만 다르게 가지면 문제가 쉽게 풀리는 경험을 종종 해 보았을 것이다. 여러 가지 방법이 있지만 그 중 하나로 우리가 풀고 싶은 문제를

www.acmicpc.net

문제에 나온 지문대로 코드를 만들면 되는 쉬운 문제였다.  한가지 주의할점이 있다면 시간초과 관련이다. or 시간 줄이기

n = input()
c=0
while int(n)>=10:
    t = 0
    for i in range(len(n)):
        t+=int(n[i])
    n=str(t)
    c+=1
print(c)
if int(n)%3==0:
    print("YES")
else:   
    print('NO')

위에 코드는 Python 3 제출 기준 6148ms, pypy 제출 기준 4356ms 가 나왔다. 

위에 코드에서 아래와 같이 단 한줄만 고쳐주니 pypy 제출 기준 140ms 가 나왔다.!

n = input()
c=0
while len(n)>=2:# int(n)>=10 ->len(n)>=2
    t = 0
    for i in range(len(n)):
        t+=int(n[i])
    n=str(t)
    c+=1
print(c)
if int(n)%3==0:
    print("YES")
else:   
    print('NO')

문자열 n 을 int형식으로 변환 했을때 시간이 많이 들었던것 같다.