모든 문제의 답은 Python3으로 작성함
10872번: 팩토리얼
def fac(n):
if n==0 or n ==1:
return 1
else:
return n*fac(n-1)
n = int(input())
print(fac(n))
10870번: 피보나치 수 5
def fib(n):
if n==0:
return 0
if n==1 or n==2:
return 1
else:
return fib(n-2)+fib(n-1)
n = int(input())
print(fib(n))
2447번: 별 찍기 - 10
def star(n):
if n==3:
return ["***","* *","***"]
else:
old = star(n//3)
new = []
for j in range(n):
new.append('')
for a in range(n//3):
new[a]=old[a]*3
new[n-a-1]=old[a]*3
for b in range(n//3, n//3*2):
new[b]=old[b-n//3] + ' '*(n//3) + old[b-n//3]
return new
n = int(input())
star = star(n)
for i in range(n):
print(star[i])
11729번: 하노이 탑 이동 순서
def hanoi(n, f, tmp, to):
if n==1:
print(f, to)
else:
hanoi(n-1, f, to, tmp)
print(f, to)
hanoi(n-1, tmp, f, to)
n = int(input())
print(pow(2,n)-1)
hanoi(n, 1, 2, 3)
'코딩테스트 > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 단계별로 풀어보기 - 그리디 알고리즘 (0) | 2021.06.17 |
---|