본문 바로가기

코딩테스트/BOJ

[백준/파이썬] 14697번: 방 배정하기 (Python)

문제

www.acmicpc.net/problem/14697

 

14697번: 방 배정하기

정보 초등학교 6학년 여학생들은 단체로 2박 3일 수학여행을 가기로 했다. 학생들이 묵을 숙소에는 방의 정원(방 안에 있는 침대 수)을 기준으로 세 종류의 방이 있으며, 같은 종류의 방들이 여러

www.acmicpc.net

 

풀이

- 구현, 부르트 포스 문제

 

- 3중 for문을 이용해 각 방의 정원의 배수만큼 증가시켜 준다. 각 방에 들어가는 인원의 합과 전체 학생수가 같으면 1출력

 

코드

a, b, c, n = map(int, input().split())
flag = False

for i in range(0, n+1, a): # a배수만큼 증가
    for j in range(0, n+1, b): # b배수만큼 증가
        for k in range(0, n+1-i-j, c): # c배수만큼 증가
            if i+j+k == n:
                flag = True
# 방에 할당된 인원의 수 (i+j+k)가 n과 같으면 true
if flag == True:
    print(1)
else:
    print(0)

 

dp로도 간단하게 풀 수 있는 문제라고 하니, dp공부가 끝나면 다시 풀어봐야겠다.