프로그래밍 문제/백준
[백준/자바] 2875 대회 or 인턴
NineTwo
2020. 12. 24. 17:42
반응형
설명
n => 여학생 수
m => 남학생 수
k => 인턴쉽 참여해야 하는 수
반복문을 이용해 k 학생 중 여학생의 수를 i, 남학생의 수를 k-i로 해 각각 원래 학생 수에서 빼준 뒤 계산했다.
인턴쉽을 참여하지 않은 여학생 수 = n - i
인턴쉽을 참여하지 않은 남학생 수 = m - (k - i) = m - k + i
이때 팀( 2명의 여학생과 1명의 남학생 )의 최대 수를 구하기 위해서는 두 가지의 기준이 필요하다.
1. 남은 남학생의 수의 두 배보다 여학생이 많거나 같다면 남학생의 수만큼 팀을 만들 수 있다.
ex) 5 1 1 => 답 1
2. 남은 여학생 수의 절반보다 남학생 수가 많거나 같다면 여학생의 수 절반만큼 팀을 만들 수 있다.
ex) 2 2 0 => 답 : 1
두 가지 경우 비슷한 말 같지만, 전혀 다른 이유는 1번의 경우 남학생이 모두 팀에 들어가지만
2번의 경우 팀이 되지 않는 남학생이 발생할 수도 있다는 차이가 있다.
코드
반응형