문제) 방 배정

 

해당 문제는 초등학교 학생들이 단체로 수학여행을 하게 되어 남녀 & 학년별로 방을 배정 하려고 했을 때 최소 방을 몇개 잡아햐 하는 지를 구하는 문제 였다

 

처음 문제를 봤을 때 파이썬의 딕셔너리 키 값을 학년으로 잡고 그후 남녀를 구분하는 리스트 값을 넣으려고 했다

 

초등학생 = {
'1학년' : {
	'남학생' : 0,
    '여학생' : 0
    },
'2학년' : {
	'남학생' : 0,
    '여학생' : 0
    },   
    .....
}

 

대략 적으로 위의 방식으로 풀면 어떨까 라는 생각을 하다가 굳이라는 생각이 들게 되었다. 그래서 DP 방식으로 학년 별 남녀 그룹만큼 배열을 만들고 0으로 초기화 하여 해당 문제를 풀게 되었다

 

더보기

정답 주의!!!

 

import sys
N, K = map(int, sys.stdin.readline().split())
stds = [0] * 12
for _ in range(N):
    s, ss = map(int, sys.stdin.readline().split())
    stds[((ss * 2) - (1 - s)) - 1] += 1

answer = 0
for std in stds:
    answer += std // K
    if std % K != 0:
        answer += 1

sys.stdout.write(f'{answer}')

 

'Python > Python 문제' 카테고리의 다른 글

백준) queuestack  (0) 2024.08.14
백준) 풍선 터뜨리기  (0) 2024.08.14
백준) 골드바흐 파티션  (0) 2024.08.09
프로그래머스) 쿼드압축 후 개수 세기  (0) 2024.08.07
백준 ) 게리맨더링  (0) 2024.08.05

+ Recent posts