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형식으로 변환 했을때 시간이 많이 들었던것 같다.
'백준 파이썬 코딩' 카테고리의 다른 글
백준 10814 나이순 정렬 파이썬 (0) | 2022.08.18 |
---|---|
백준 18310 안테나 파이썬 (0) | 2022.08.18 |
백준 12891 DNA 비밀번호 파이썬 (0) | 2022.08.17 |
백준 1999 최대최소 파이썬 (0) | 2022.08.16 |
백준 1781 컵라면 파이썬 반례 O (0) | 2022.08.15 |