본문 바로가기
Algorithm(알고리즘)/BOJ(백준) 문제풀이

백준 2875번 파이썬 풀이 | 대회 or 인턴 | 그리디(Greedy) 알고리즘

by Jun_N 2020. 7. 4.

 

2875번: 대회 or 인턴

문제 백준대학교에서는 대회에 나갈 때 2명의 여학생과 1명의 남학생이 팀을 결성해서 나가는 것이 원칙이다. (왜인지는 총장님께 여쭈어보는 것이 좋겠다.) 백준대학교는 뛰어난 인재들이 많아

www.acmicpc.net

<<문제>>

 

백준대학교에서는 대회에 나갈 때 2명의 여학생과 1명의 남학생이 팀을 결성해서 나가는 것이 원칙이다. (왜인지는 총장님께 여쭈어보는 것이 좋겠다.)

백준대학교는 뛰어난 인재들이 많아 올해에도 N명의 여학생과 M명의 남학생이 팀원을 찾고 있다. 대회에 참여하려는 학생들 중 K명은 반드시 인턴쉽 프로그램에 참여해야 한다. 인턴쉽에 참여하는 학생은 대회에 참여하지 못한다.

백준대학교에서는 뛰어난 인재들이 많기 때문에, 많은 팀을 만드는 것이 최선이다.

여러분은 여학생의 수 N, 남학생의 수 M, 인턴쉽에 참여해야하는 인원 K가 주어질 때 만들 수 있는 최대의 팀 수를 구하면 된다.

 

입력

첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N),

 

출력

만들 수 있는 팀의 최대 개수을 출력하면 된다.

 

 

<<문제 설명>>

K만큼 for문을 돌면서 N을 2로 나눈후 M보다 크거나 같으면 N에서 한개를 빼주고 아니면 M에서 한개를 빼준다.

 

그후 , N을 2로 나눈값과 M중 최솟값을 출력하면 되는 쉬운 문제이다.

 

<<소스코드>>

N, M, K = map(int, input().split())

 

for i in range(K):

     if N//2 >= M :

          N=N-1

     else:

          M=M-1

 

print(min(N//2,M))