반응형
문제
- 백준대학교에서는 대회에 나갈 때 2명의 여학생과 1명의 남학생이 팀을 결성해서 나가는 것이 원칙이다. (왜인지는 총장님께 여쭈어보는 것이 좋겠다.)백준대학교에서는 뛰어난 인재들이 많기 때문에, 많은 팀을 만드는 것이 최선이다.
- 여러분은 여학생의 수 N, 남학생의 수 M, 인턴쉽에 참여해야하는 인원 K가 주어질 때 만들 수 있는 최대의 팀 수를 구하면 된다.
- 백준대학교는 뛰어난 인재들이 많아 올해에도 N명의 여학생과 M명의 남학생이 팀원을 찾고 있다. 대회에 참여하려는 학생들 중 K명은 반드시 인턴쉽 프로그램에 참여해야 한다. 인턴쉽에 참여하는 학생은 대회에 참여하지 못한다.
입력
- 첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N)
# Case 1
6 3 2
# Case 2
2 1 1
# Case 3
6 10 3
출력
# Case 1
2
# Case 2
0
# Case 3
3
내가 제출한 풀이 - 정답
import sys
n, m, k = list(map(int, sys.stdin.readline().strip().split()))
res = 0
while True:
n -= 2
m -= 1
if n > -1 and m > -1 and k <= n + m:
res += 1
else:
break
print(res)
Tip
여학생(n), 남학생(m)을 1팀씩 차례대로 빼주다가 여학생, 남학생의 합이 인턴수(k)보다 작아진다면 반복문을 빠져나오면 되는 문제였다.
반응형
'Python 알고리즘' 카테고리의 다른 글
[Python 알고리즘] 백준 1783번 : 병든 나이트 (0) | 2022.02.03 |
---|---|
[Python 알고리즘] 백준 10610번 : 30 (1) | 2022.02.02 |
[Python 알고리즘] 백준 11047번 : 동전 0 (0) | 2022.01.31 |
[Python] 구현 및 시뮬레이션 알고리즘을 파헤쳐 보자! (문자열 재정렬) (0) | 2022.01.28 |
[Python] 구현 및 시뮬레이션 알고리즘을 파헤쳐 보자! (왕실의 나이트) (0) | 2022.01.27 |