728x90
반응형
Bronze II
# 13300 방 배정
https://www.acmicpc.net/problem/13300
- 자료구조 '배열' 문제
내 풀이_틀렸습니다
# 틀린 풀이_스스로 이해하기 어려운 구조 사용
import math
room = []
cnt = 0
for i in range(6):
grade = []
for j in range(2):
grade.append(0)
room.append(grade)
N, K = map(int, input().split())
for i in range(N):
S, Y = map(int, input().split())
room[Y-1][S] += 1
for i in room:
for j in i:
math.ceil(j/K)
cnt += j
print(cnt)
# Q.조언?
# A. math ceil 사용해서 올림 적용
- ceil을 이용할 것을 조언받았으나 구조를 정확하게 이해하지 못한 듯 하다.
- 아직 행렬을 구성해서 푸는 문제에 약함을 보인다.
스터디원의 풀이
# ㅇㅁ's solution
import math # ceil을 이용해 올림 처리 적용을 위함
N, K = map(int, input().split()) # N: 참가 학생 수, K: 한 방당 최대 인원 수
P = [[0]*2 for i in range(6)] # 학년별, 성별 방 구성
R = 0
for i in range(N):
S, Y = map(int, input().split()) # S: 성별, Y: 학년
if S == 1:
P[Y-1][1] += 1 # 학년에 맞는 남학생 수 추가
else:
P[Y-1][0] += 1 # 학년에 맞는 여학생 수 추가
for i in range(6):
R += math.ceil(P[i][0]/K) # '인원/최대인원 수'를 올림해서 R에 추가
R += math.ceil(P[i][1]/K)
print(R)
- P[m][n] 형태를 사용한 것이 눈에 띈다 : 내가 시도했던 방식보다 이해하기 쉬운 형태를 이용
'Algorithm Study > Python' 카테고리의 다른 글
[백준 파이썬] #11399 ATM (0) | 2021.11.26 |
---|---|
[백준 파이썬] #10870 피보나치 수 5 (0) | 2021.11.22 |
[백준 파이썬] #1475 방 번호 (0) | 2021.11.17 |
[백준 파이썬] #2577 숫자의 개수 (0) | 2021.11.16 |
[백준 파이썬] #10807 개수 세기 (0) | 2021.11.16 |