Development/알고리즘
[ 백준 알고리즘 ] 2275번 부녀회장이 될테야 (JAVA/python)
Jin’s
2020. 7. 15. 12:48
반응형
안녕하세요 Jin's 입니다.
백준 알고리즘의 수학1 중 부녀회장이 될테야 ( 문제 번호 : 2775 )의 소스입니다.
Java와 Python 두가지 버전 소스입니다.
4층 | 1 | 6 | 21 | 56 |
3층 | 1 | 5 | 15 | 35 |
2층 | 1 | 4 | 10 | 20 |
1층 | 1 | 3 | 6 | 10 |
0층 | 1 | 2 | 3 | 4 |
층/호 | 1호 | 2호 | 3호 | 4호 |
공통적으로 0층은 n(호) 마다 추가되고,
그 외의 층들의 인원 수는 예를 들어 302호면 202호+301호 값이 더해지면 된다는 공식을 세울 수 있다.
1) JAVA
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int t = scan.nextInt(); //test case
int [][] apartment = new int[15][15];
//초기값 설정
for(int i=0;i<=14;i++){
apartment[i][1] = 1;
apartment[0][i] = i;
}
//초기값 이외의 설정
for(int i=0;i<t;i++){
int k = scan.nextInt(); //층
int n = scan.nextInt(); //호
for(int j=1; j<=k; j++){//층만큼 뺑뺑이
for(int p=2; p<n+1;p++){
apartment[j][p] = apartment[j-1][p]+apartment[j][p-1];
}
}
System.out.println(apartment[k][n]);
}
scan.close();
}
}
2) PYTHON
t = int(input())
for _ in range(t):
k = int(input())
n = int(input())
apartment = [i for i in range(1, n+1)]
for _ in range(k):
for j in range(1, n):
apartment[j] += apartment[j-1]
print(apartment[n-1])
여러분도 한번 풀어보세요!
반응형