문제
평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다.
이 아파트에 거주를 하려면 조건이 있는데, “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
알았던 내용
몰랐던 내용
어느 부분에서인지 이해 조차 힘든 부분이 많다.. 더 분발하라는 메세지이기도 하고, 새로운 스테이지에 온 신고식이기도 하겠구나 하는 생각이 든다. 이론 배우고, 이론에 적합한 코드만 짜던 나에게 이런 사고한 후 해석하고 분류하여 체계화시키는 작업 즉, 다시 말해 프로그래밍하는 이러한 일련의 작업들이 정말 쉬운게 아니구나라는 생각이 절로 다 든다는 생각이다. 자, 잡생각은 뒤로 밀어두고 실제로 어디서 막혔는지를 살펴보도록하자. comprehension 에 대한 이해가 바르게 서지 못했다. [x for x in range(1, num+1)] 이런 코드가 보여도 사실 일초만에이해하고 사용되는 루트를 이해해야 다음 코드를 작성할 수 있으므로 참고할 것이다. 다음으로는 총 for 문이 3번이나 반복되엇다. 왜 이렇게까지 반복되었고, 어떻게 처리해야할지를 한번 깊이 고민해봐야겠다 . 이후 이와같은 문제가 발생했을 때 추춤 거리지 않기 위해서 더더욱.
wikidocs.net/12769 이 곳에 컴프리헨션에 대한 내용을 잘 다루었으니 참고해보면 좋겠다.
배운 내용
프로그래밍은 내가 생각한대로 모든게 가능하다.