phython
2785: 체인
트루홍
2021. 5. 30. 12:59
1. print 를 재귀함수 위에 넣느냐 아래 넣느냐에 따라 다르다.
이유는 재귀함수가 스택을 활용하기 때문에.
def DFS(x):
if x > 0 :
print (x, end=' ') // 4,3,2,1
DFS(x0-1)
print (x, end=' ') // 1,2,3,4
if __name__ =="__main__":
n=int(input())
DFS(n)
https://www.acmicpc.net/problem/2785
2785번: 체인
희원이는 그의 다락방에서 N개의 체인을 찾았다. 각각의 체인은 몇 개의 고리로 연결되어 있는데, 각각의 고리는 최대 두 개의 인접한 고리를 가질 수 있다. 각각의 고리는 열고 닫을 수 있다. 그
www.acmicpc.net
문제 풀이:
N = eval(input())
m = list(map(int, input().split()))
m.sort()
cnt = 1 # 연결된 고리 개수
idx = 0 # 현재 고리를 빼야할 고리인덱스
while(1):
cnt += 1
m[idx] -= 1
if(m[idx] == 0):
idx += 1
if(idx + cnt >= N):
break
print(cnt-1)
반응형