또 뭐하지
백준 2775번 부녀회장이 될테야 본문
728x90
■ solve code
T = int(input())
for _ in range(T):
k = int(input())
n = int(input())
resident = [i for i in range(1,n+1)] # 0층 거주 인원 초기화
#print(resident)
for x in range(k): #k층
tmp = []
for y in range(n): # 1~n호실
tmp.append(sum(resident[:y+1])) #k층 거주 인원 리스트 생성
resident = tmp.copy() #resident를 k층 거주 인원으로 변경
#print(resident)
print(resident[-1]) #최종 k층 n호 거주인원
print 주석을 제거해보면 아래와 같이 각 층 호실별 거주인원을 확인할 수 있다.
T = int(input())
def resident(k, n):
if k == 0 :
return n
else:
res = 0
for i in range(n) :
res += resident(k-1, i+1)
return res
for _ in range(T):
k = int(input())
n = int(input())
print(resident(k,n))
처음에 시도했던 재귀함수 코드는 시간 초과가 났다. 어떤 때 재귀함수를 쓰고 말아야할지 고민을 해봐야할 것 같다.
'Study > Coding Test' 카테고리의 다른 글
백준 28702번 FizzBuzz (0) | 2024.11.11 |
---|---|
백준 2609번 최대공약수와 최소공배수 (0) | 2024.11.01 |
백준 1546번 평균 (1) | 2024.10.31 |