[java/백준] 2775번- 부녀회장이 될테야

2023. 8. 23. 02:12·PS

문제

평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다.

이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다” 는 계약 조항을 꼭 지키고 들어와야 한다.

아파트에 비어있는 집은 없고 모든 거주민들이 이 계약 조건을 지키고 왔다고 가정했을 때, 주어지는 양의 정수 k와 n에 대해 k층에 n호에는 몇 명이 살고 있는지 출력하라. 단, 아파트에는 0층부터 있고 각층에는 1호부터 있으며, 0층의 i호에는 i명이 산다.

입력

첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다

출력

각각의 Test case에 대해서 해당 집에 거주민 수를 출력하라.

제한

  • 1 ≤ k, n ≤ 14

예제 입력 1 복사

2
1
3
2
3

예제 출력 1 복사

6
10

 

 

 

0층 1 2 3 4 ~

1층 1 3 6 10 ~

2층 1 4 10 20 ~

3층 1 5 15 35  ~ 등등..

 

0층의 사람들(1호에 1명, 2호에 2명 .... 등등)부터 차례대로 부여하기

-> 1호~N호의 사람들까지 누적, K층만큼 반복

 

 

 

 

<내 코드>

import java.io.*;
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        int T=Integer.parseInt(br.readLine());
        for (int i=0;i<T;i++){
            int K=Integer.parseInt(br.readLine());
            int N=Integer.parseInt(br.readLine());
            int[] person=new int[N];

            for (int j=0;j<N;j++){
                person[j]=j+1;
            }
            for (int j=0;j<K;j++){
                for (int k=1;k<N;k++){
                    person[k]+=person[k-1];
                }
            }
            System.out.println(person[N-1]);

        }


    }
}

 

 

 

다른 풀이?

 

2차원 배열을 사용 !!

 

 

 int person[][]=new int[15][15];
        int K=Integer.parseInt(br.readLine());
        int N=Integer.parseInt(br.readLine());
        for (int i=0;i<K;i++){
            for (int j=0;j<N;j++){
               if (person[i][j]==0){
                   if (i==0){
                       person[i][j]=j;
                   }
                   else{
                       person[i][j]=person[i][j-1]+person[i-1][j];
                   }
                }
            }

2층 3호 인원 = 2층 2호 인원+ 1층 3호 인원

 

 

https://www.acmicpc.net/problem/2775

 

2775번: 부녀회장이 될테야

첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다

www.acmicpc.net

 

'PS' 카테고리의 다른 글

[java/백준] 1094번- 막대기  (1) 2023.08.25
[java/백준] 2693번- N번째 큰 수  (3) 2023.08.23
[java/백준] 2309번- 일곱난쟁이  (0) 2023.08.18
[java/백준] 1292번- 쉽게 푸는 문제  (2) 2023.08.13
[java/백준] 1357번- 뒤집힌 덧셈  (1) 2023.08.02
'PS' 카테고리의 다른 글
  • [java/백준] 1094번- 막대기
  • [java/백준] 2693번- N번째 큰 수
  • [java/백준] 2309번- 일곱난쟁이
  • [java/백준] 1292번- 쉽게 푸는 문제
zioni
zioni
  • zioni
    jiwon's dev.log
    zioni
  • 전체
    오늘
    어제
    • 분류 전체보기 (77) N
      • spring & java (13)
      • Algorithm (15) N
      • PS (37)
      • project (3)
      • experience (1)
      • etc (6)
      • study (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    백준
    백준2525
    자바
    java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
zioni
[java/백준] 2775번- 부녀회장이 될테야
상단으로

티스토리툴바