> 알고리즘 문제 풀이/BOJ
[Python] 13300-방 배정
bky373
2020. 10. 26. 17:02
> 출처: www.acmicpc.net/problem/13300
* 핵심 로직:
- 학년별, 성별 반이 달라야한다 -> 리스트로 구분
- 같은 학년, 같은 성별의 학생수가 K보다 클 경우
- 방을 1개 늘리고 (학생수 - K) 를 반복한다
** 아쉬운 점:
- 이 문제는 사실 while문을 굳이 돌리지 않고도,
- if (학생 수 % K == 0) 이면, cnt += 학생 수 // K
- else 이면, cnt += 학생 수 // K + 1 로 간단하게 해결할 수 있었다
N, K = map(int, input().split())
student = [[0, 0] for _ in range(6)]
for _ in range(N):
S, Y = map(int, input().split())
student[Y-1][S] += 1
print(student)
cnt = 0
for s in student:
if s[0] != 0:
cnt += 1
while s[0] > K:
cnt += 1
s[0] -= K
if s[1] != 0:
cnt += 1
while s[1] > K:
cnt += 1
s[1] -= K
print(cnt)