728x90
반응형
문제
해설
같은 성별끼리, 같은 학년끼리만 방을 쓸 수 있다는 규칙만 체크하면 그렇게 어렵지 않은 문제이다.
학년별 인원수가 따로 주어지는 게 아니라 인원수 만큼 입력을 통해 주어지기 때문에
입력을 받을 때 마다 리스트에 따로 학년별 인원수를 체크해주는 게 좋다.
리스트에 인원수 체크가 끝나면 한 방에 배정 가능한 최대 인원수로 맞게 떨어지는 지를 체크해야 한다.
학년 별로 배정 인원까지 체크가 끝나면
그 결과는 리스트에 담겨있을테니 합계를 내주면 최종 결과를 얻을 수 있다.
코드
-파이썬
#백준 13300(방 배정)
n, k = map(int, input().split()) #학생 수, 한 방 최대 인원 수
female = [0] * 1000
male = [0] * 1000
for j in range(n):
s, y = map(int, input().split()) #성별, 학년
#학년별 인원수 체크
if s == 0: #여자
female[y] += 1
else: #남자
male[y] += 1
for j in range(1, 7):
if female[j] % k == 0: #인원수 딱 맞게 떨어질 때
female[j] = female[j] // k
else:
female[j] = (female[j] // k) + 1
if male[j] % k == 0:
male[j] = male[j] // k
else:
male[j] = (male[j] // k) + 1
print(sum(female) + sum(male))
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[파이썬, 자바] BOJ_9625(BABBA) (2) | 2021.03.15 |
---|---|
[파이썬, 자바] BOJ_2628(종이자르기) (0) | 2021.03.09 |
[파이썬] BOJ_1449(수리공 항승) (0) | 2021.02.25 |
[파이썬] BOJ_13305(주유소) (0) | 2021.02.24 |
[파이썬] BOJ_2720(세탁소 사장 동혁) (0) | 2021.02.23 |