코딩/백준

[백준/파이썬/수학] 2875번 대회 or 인턴 코딩테스트 연습풀이 브론즈3

thisisjade 2022. 4. 2. 00:12
728x90

문제 출처: https://www.acmicpc.net/problem/2875

 

2875번: 대회 or 인턴

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

www.acmicpc.net

 

문제

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

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

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

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

 

입력

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

 

출력

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

 

예제 입력 1

6 3 2

 

예제 출력 1

2

 

예제 입력 2

2 1 1

 

예제 출력 2

0

 

예제 입력 3

6 10 3

 

예제 출력 3

3

 

정답

n, m, k = map(int, input().split())

answer = 0

for i in range(k+1):
    if answer < (n-i)//2 and answer < m-k+i:
        answer = min((n-i)//2, m-k+i)
print(answer)

이 문제가 브론즈3이라고요? 뭔가 잘못된게 분명해 ㅋㅋㅋ

정답비율이 43퍼인 이유가 있습니다

 

처음에는 생각을 잘못해서 인원을 n과 m중 한쪽에만 분배를 시켜서 값이 틀렸네요

for문을 통해 쪼개서 나누어주는 것을 커버하는 코드를 짜니까 정답이 되었습니다

728x90