2775번
T = int(input())
for i in range(T) :
k = int(input()) # 층수
n = int(input()) # 호수
people = [i for i in range(1, n+1)]
for x in range(k) :
for y in range(1, n) :
people[y] += people[y-1]
print(people[-1])
- comprehension 사용해서 거주자 수 리스트를 생성한다.
- for문 안에서 하위에 두 개의 for문을 작성한다. 첫 번째 for문은 입력받는 층수만큼 반복하고 두 번째 for문은 각 층의 1호부터 입력받는 호수까지 숫자를 반복해서 위에서 생성한 f0 리스트의 인덱스로 사용한다.
- 두 번째 for문의 숫자 인덱스를 이용해서 이전 인덱스의 숫자를 더한 값을 리셋한다. 즉, 층 수가 증가할 때마다 한층 아래층의 이전 호실에 사는 사람의 숫자를 더하는 것과 같은 의미가 된다.
- 두개의 반복문이 종료됐을 때, 가장 마지막 수를 호출하면 입력받은 층, 호수에 해당하는 사람 수를 출력할 수가 있다.
2839번
n = int(input())
bag = 0
while n >= 0:
if n % 5 == 0:
bag += (n // 5)
print(bag)
break
n -= 3
bag += 1
else:
print(-1)