문제 링크
https://www.acmicpc.net/problem/1769
1769번: 3의 배수
문제가 잘 풀리지 않을 때, 문제를 바라보는 시각을 조금만 다르게 가지면 문제가 쉽게 풀리는 경험을 종종 해 보았을 것이다. 여러 가지 방법이 있지만 그 중 하나로 우리가 풀고 싶은 문제를
www.acmicpc.net
풀이
- 아래 코드 시간 초과
- int형으로 입력을 받은 뒤 str로 바꿔서 for문제 넣어서 그렇다고 한다.
# 시간 초과
def sol(n,cnt):
if n < 10 :
print(cnt)
if n % 3 == 0 :
print("YES")
else:
print("NO")
return
s = 0
for i in str(n):
s += int(i)
sol(s,cnt+1)
n = int(input())
sol(n,0)
- str로 입력받고 이를 매개변수로 함수에 전달해서 통과하였다.
def sol(n,cnt):
if len(n) == 1 :
print(cnt)
if int(n) % 3 == 0 :
print("YES")
else:
print("NO")
return
s = 0
# 자릿수 합
for i in n:
s += int(i)
sol(str(s),cnt+1)
n = input()
sol(n,0)
'개발 > algorithm' 카테고리의 다른 글
[백준 9465번] 스티커 - python (0) | 2022.03.10 |
---|---|
[백준 6603번] 로또 - python (0) | 2022.03.10 |
[백준 17478번] 재귀함수가 뭔가요 ? -python (0) | 2022.03.10 |
[백준 5568번] 카드 놓기 - python (0) | 2022.03.10 |
[프로그래머스][level2] 순위 검색 - python (0) | 2022.03.08 |