https://www.acmicpc.net/problem/13300
defaultdict
활용room
설정(초기값 0)room
에 더하고, 출력from collections import defaultdict
students, room_max = map(int,input().split())
#남학생, 여학생용 딕셔너리
male = defaultdict(int)
female = defaultdict(int)
for student in range(students):
gender, grade = map(int,input().split())
if gender :
male[grade] += 1
else :
female[grade] += 1
room = 0
for grade in range(1, 7):
#각 학년의 남학생, 여학생 수
w, m = female[grade], male[grade]
#몫만큼 더해주고, 나머지가 있는 경우 방 하나 더 생성
room += w//room_max + m//room_max
if w%room_max :
room += 1
if m%room_max :
room += 1
print(room)
다른 사람의 풀이를 봤는데, math
모듈의 ceil
함수를 활용하는 경우가 있었다.
math.ceil(x)
: x를 소수점 첫째자리에서 올려 정수형으로 리턴
이 함수를 활용한다면 내 코드에서처럼 나머지를 고려하지 않아도 된다는 것을 알 수 있었다.