728x90
출처 : 2875번: 대회 or 인턴 (acmicpc.net)
문제
백준대학교에서는 대회에 나갈 때 2명의 여학생과 1명의 남학생이 팀을 결성해서 나가는 것이 원칙이다. (왜인지는 총장님께 여쭈어보는 것이 좋겠다.)
백준대학교는 뛰어난 인재들이 많아 올해에도 N명의 여학생과 M명의 남학생이 팀원을 찾고 있다. 대회에 참여하려는 학생들 중 K명은 반드시 인턴쉽 프로그램에 참여해야 한다. 인턴쉽에 참여하는 학생은 대회에 참여하지 못한다.
백준대학교에서는 뛰어난 인재들이 많기 때문에, 많은 팀을 만드는 것이 최선이다.
여러분은 여학생의 수 N, 남학생의 수 M, 인턴쉽에 참여해야 하는 인원 K가 주어질 때 만들 수 있는 최대의 팀 수를 구하면 된다.
입력
첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N),
출력
만들 수 있는 팀의 최대 개수을 출력하면 된다.
[ 문제 설명 ]
이 문제는 최대한 대회팀(남자1, 여자 2)을 많이 만드는 과정에서 원하는 인턴 수 필수를 맞춰야 하는 문제입니다.
간단하게 조건문에 들어갈때 이런 상황을 고려하고 짜면 되는 거죠.
코드를 보시면 바로 이해되실 겁니다.
n, m, k = map(int, input().split())
res = 0
while n >= 2 and m >= 1 and n + m >= k + 3:
n -= 2
m -= 1
res += 1
print(res)
후기
그리디 두 번째 걸음...
728x90
'백준 코딩 테스트' 카테고리의 다른 글
백준 1783번 - 병든 나이트 (0) | 2021.03.18 |
---|---|
백준 10610번 - 30 (0) | 2021.03.18 |
백준 11047번 - 동전0 (0) | 2021.03.11 |
백준 1967번 - 트리의 지름(2) (0) | 2021.03.09 |
백준 1167번 - 트리의 지름 (0) | 2021.03.09 |