티스토리 뷰

728x90

문제

www.acmicpc.net/problem/14650

 

14650번: 걷다보니 신천역 삼 (Small)

욱제는 ‘삼’이란 음절을 참 좋아한다. 인삼, 홍삼, 해삼, 삼성, 이춘삼(李春森), 삼식이, 삼시세끼, ㄴㄴ 그거 안 삼, 삼과 죽음, 알았삼, 금강삼도 식후경, 걷다보니 신천역 삼, 그리고 특히 일

www.acmicpc.net

 

풀이 및 소스코드

맨 큰 자리수에 0이 들어가지 않는 것만 주의해서 풀면 된다.

한자리씩 차곡차곡 쌓아가되, 만든 수의 자리수와 입력받은 n이 같으면 함수가 끝나도록 재귀를 돌린다.

import sys
sys.setrecursionlimit(1000000)

N = int(input().rstrip())
res = 0

def make_num(n, sum):
    global res
    for i in range(3):
        if n==0 and i==0:
            continue
        if n==N:
            if sum%3==0:
                res += 1
                return res
        else:
            make_num(n+1, int(str(sum+i)))

make_num(0,0)
print(res)
반응형