[BOJ][Python]割り当て部屋#13300



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小数点1位から整数を返す
    この関数を使用すると、私のコードのように残りの内容を考慮する必要はありません.