반응형
안녕하세요 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])
여러분도 한번 풀어보세요!
반응형
'Development > 알고리즘' 카테고리의 다른 글
[ 백준 알고리즘 ] 1011번 Fly me to the Alpha Centauri (JAVA/python) (0) | 2020.07.22 |
---|---|
[ 백준 알고리즘 ] 10250번 ACM 호텔 (JAVA/python) (0) | 2020.07.20 |
[ 백준 알고리즘 ] 2292번 벌집 (JAVA/python) (0) | 2020.07.14 |
[ 백준 알고리즘 ] 1193번 분수찾기 (JAVA/python) (0) | 2020.07.13 |
[ 백준 알고리즘 ] 2869번 달팽이는 올라가고 싶다 (JAVA/python) (0) | 2020.07.12 |