728x90
반응형
문제
https://www.acmicpc.net/problem/2875
해설
인턴에 참여해야 하는 수인 k만큼 반복문을 돌면서,
n을 2로 나눈 몫과 m을 비교하여 둘 중 더 수가 큰 곳에서 한 명을 빼주면 된다.
여학생은 2명, 남학생은 1명이 있어야 팀을 구성할 수 있기 때문에 더 큰 곳에서 한 명씩 빼줘야 균형을 맞출 수 있다.
그러고 나선, n을 2로 나눈 몫과 m중에 더 작은 값이 그대로 팀의 수가 되기 때문에 출력해주면 된다.
코드
- 파이썬
#백준 2875(대회 or 인턴)
n, m, k = map(int, input().split()) #여학생, 남학생, 인턴쉽 참가 인원
for _ in range(k):
if n // 2 >= m:
n -= 1
else:
m -= 1
print(min(n // 2, m))
- 자바
//백준 2875(대회 or 인턴)
import java.util.*;
import java.io.*;
public class Boj_2875 {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken()); //여학생
int m = Integer.parseInt(st.nextToken()); //남학생
int k = Integer.parseInt(st.nextToken()); //인턴쉽
while(k > 0) {
if(n / 2 >= m) {
n--;
k--;
}
else {
m--;
k--;
}
}
System.out.println(Math.min(n / 2, m));
}
}
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[파이썬, 자바] BOJ_16435(스네이크버드) (0) | 2021.01.26 |
---|---|
[파이썬, 자바] BOJ_4796(캠핑) (0) | 2021.01.25 |
[파이썬, 자바] BOJ_2828(사과 담기 게임) (0) | 2021.01.22 |
[파이썬, 자바] BOJ_15904(UCPC는 무엇의 약자일까?) (0) | 2021.01.21 |
[파이썬, 자바] BOJ_1459(걷기) (0) | 2021.01.20 |