▶문제
▶풀이
우선 문제를 잘 이해해야한다(처음엔 2차원 배열인가 생각했는데 아니었다...)
예를 들어 0층에 4호까지 있고 1호부터 4호까지 각각 1,2,3,4명이 산다고 생각해보자.
2층: 1 4 10 20
1층: 1 3 6 10
0층: 1 2 3 4
이런식으로 살 수 있는 것이다.
즉, 정리해보면
1. k,n을 입력받음
2. 중첩 for 반복문을 사용한다. 먼저 해당 호수에 거주하는 사람을 저장해둔다.
3. 층수가 증가할 때마다 저장되어있는 값에 새로운 값을 저장한다.
▶참고
1. 반복제어변수 없는 for 반복문
이 문제를 풀기 위해선 반복제어변수가 없는 for 반복문을 한 번 써야한다. 이 개념이 생소해서 따로 찾아보았다.
-> 단순 반복만 할 때와 같이 제어변수를 명령에서 꼭 사용해야 되는 것은 아니다. 즉, 해당 변수가 반복 과정에서 사용되지 않을 것을 뜻하고 이런 경우에는 관례적으로 _를 사용하여 표현
2. 파이썬에서 리스트 안 for 반복문
찾아보니 이를 "List Comprehension"이라고 한다.
list 안에 포함된 for 문으로 list를 생성하는 것이다.
즉, [변수 for 변수 in ~]의 형태이다.
예를 들어 n=5이고 "result = [ i for i in range(n) ]" 이라면
-> result = [0, 1, 2, 3, 4]이다.
▶풀이
코드별 설명은 주석으로 작성하였다.
이번 문제는 흔히 써본 for문이 아닌 반복제어변수 없는 for문, List Comprehension에 대해 알아본 좋은 문제였다!
'2024 SWLUG > 백준' 카테고리의 다른 글
4주차_백준 (2) - 분해합 (0) | 2024.05.22 |
---|---|
4주차_백준 (1) - 블랙잭 (0) | 2024.05.22 |
3주차_백준 (1) - 1,2,3 더하기 (0) | 2024.05.22 |
2주차_백준 (2) - 양팔저울 (0) | 2024.05.22 |
2주차_백준 (1) - 내리막길 (0) | 2024.05.22 |