Today's special moments become memories of tomorrow.

BOJ

[백준 14697번] 방 배정하기 (java)

lotus lee 2021. 2. 13. 14:24

백준 14697번 : 방 배정하기

 

14697번: 방 배정하기

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

www.acmicpc.net

 

브루스포스 알고리즘이며, 나는 재귀를 이용하여 문제를 풀었다.

 

재귀의 base case를 방 배정을 성공(true)하느냐, 실패(false)하느냐로 나눴는데, 

꼭 모든 방에 학생을 배분할 필요가 없으므로, 아직 모든 방에 배정하기 전인데 남은 학생 수가 0이 되어도 탈출 조건이 될 수 있다.

 

<base case>

- 모든 방에 배정 여부와 관계없이 남은 학생이 0명이면, true를 반환

- 마지막 방까지 배정했을 때, 남은 학생이 존재하면 false를 반환

 

재귀함수를 호출할 때는, 방에 배정하고 남은 학생을 인수로 넘겨준다.

 

소스코드: