반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- docker remove
- 코드업 1020 자바
- 가운데 글자 가져오기 java
- codeup 1020 java
- 프로그래머스 가운데 글자 가져오기 python
- m1 docker
- 코드업 1020 java
- 가운데 글자 가져오기 자바
- 핸즈온 머신러닝
- 프로그래머스 가운데 글자 가져오기 자바
- 빅분기실기
- 가운데 글자 가져오기 파이썬
- docker 완전 삭제
- m1 docker install
- 청년 Ai Big Data 아카데미
- codeup 1020 자바
- 최소 스패닝 트리
- 가운데 글자 가져오기 python
- 트리의 지름 자바
- 빅데이터분석기사
- docker 삭제
- 트리의 지름 java
- 청년 AI Big Data 아카데미 13기
- 프로그래머스 가운데 글자 가져오기 파이썬
- 최소 스패닝 트리 자바
- 나누어 떨어지는 숫자 배열 java
- 프로그래머스 나누어 떨어지는 숫자 배열 자바
- 프로그래머스 나누어 떨어지는 숫자 배열 파이썬
- 나누어 떨어지는 숫자 배열 python
- 최단 경로 알고리즘
Archives
- Today
- Total
NineTwo meet you
[백준/자바] 2875 대회 or 인턴 본문
반응형
설명
n => 여학생 수
m => 남학생 수
k => 인턴쉽 참여해야 하는 수
반복문을 이용해 k 학생 중 여학생의 수를 i, 남학생의 수를 k-i로 해 각각 원래 학생 수에서 빼준 뒤 계산했다.
인턴쉽을 참여하지 않은 여학생 수 = n - i
인턴쉽을 참여하지 않은 남학생 수 = m - (k - i) = m - k + i
이때 팀( 2명의 여학생과 1명의 남학생 )의 최대 수를 구하기 위해서는 두 가지의 기준이 필요하다.
1. 남은 남학생의 수의 두 배보다 여학생이 많거나 같다면 남학생의 수만큼 팀을 만들 수 있다.
ex) 5 1 1 => 답 1
2. 남은 여학생 수의 절반보다 남학생 수가 많거나 같다면 여학생의 수 절반만큼 팀을 만들 수 있다.
ex) 2 2 0 => 답 : 1
두 가지 경우 비슷한 말 같지만, 전혀 다른 이유는 1번의 경우 남학생이 모두 팀에 들어가지만
2번의 경우 팀이 되지 않는 남학생이 발생할 수도 있다는 차이가 있다.
코드
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.BufferedReader; | |
import java.io.IOException; | |
import java.io.InputStreamReader; | |
public class BOJ2875 { | |
public static void main(String[] args) throws IOException{ | |
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); | |
String str[] = br.readLine().split(" "); | |
int n = Integer.parseInt(str[0]); | |
int m = Integer.parseInt(str[1]); | |
int k = Integer.parseInt(str[2]); | |
int result = 0; | |
for(int i = 0; i <= k; i++) { | |
if(0 <= m-k+i && 0 <= n-i && 2*(m-k+i) <= n-i) { | |
result = Math.max(result, m-k+i); | |
} | |
if(0 <= m-k+i && 0 <= n-i && (n-i)/2 <= m-k+i) { | |
result = Math.max(result, (n-i)/2); | |
} | |
} | |
System.out.println(result); | |
} | |
} |
반응형
'프로그래밍 문제 > 백준' 카테고리의 다른 글
[백준/자바] 10610 30 (0) | 2020.12.24 |
---|---|
[백준/자바] 12904 A와 B (0) | 2020.12.24 |
[백준/자바] 16917 양념 반 후라이드 반 (0) | 2020.12.22 |
[백준/자바] 16968 차량 번호판 1 (0) | 2020.12.22 |
[백준/자바] 20055 컨베이어 벨트 위의 로봇 (0) | 2020.11.10 |