2024 SWLUG/백준

3주차_백준 (2) - 부녀회장이 될테야

un_plugged 2024. 5. 22. 14:07

▶문제

▶풀이

우선 문제를 잘 이해해야한다(처음엔 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