-
BOJ) 대회 or 인턴알고리즘/백준 2020. 7. 18. 22:01반응형
대회 or 인턴
풀이
1. 대회에 나갈 때 2명의 여학생과 1명의 남학생이 팀을 결성해서 나가는 것이 원칙
2. 대회에 참여하려는 학생들 중 K명은 반드시 인턴쉽 프로그램에 참여해야 한다. 인턴쉽에 참여하는 학생은 대회에 참여하지 못한다.위의 두 조건에 따라, 여학생과 남학생, 인턴에 참여하는 학생의 수가 순서대로 주어질 때, 인턴쉽에 참가할 수 있는 최대 팀의 수를 구하는 문제다.
여학생 2명과 남학생 한명을 짝지어야 하기 때문에, 반복문을 통해 인턴십에 참여할 학생을 여학생과 남학생 중 어디서 골라야하는지 결정해줬다.
입력받은 여학생의 수의 절반이 대회에 나갈 수 있기 때문에, 여학생 / 2 와 남학생 수를 비교하면서 while을 종료했다.
이후, 여학생 / 2 와 남학생의 숫자 둘 중 더 작은 숫자를 출력해줬다.
-> 여학생 2명과 남학생 1명이 한 팀이기 때문에
코드
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); br.close(); int female = Integer.parseInt(st.nextToken()); int male = Integer.parseInt(st.nextToken()); int intern = Integer.parseInt(st.nextToken()); solution(female, male, intern); } private static void solution(int female, int male, int intern) { final int DIV = 2; while(intern !=0) { if(female/DIV < male) { male--; } else { female--; } intern--; } System.out.println(Math.min(female/DIV, male)); } }
반응형'알고리즘 > 백준' 카테고리의 다른 글
BOJ) 체스판 다시 칠하기 (0) 2020.07.18 BOJ) 나이트의 이동 (0) 2020.07.18 BOJ) 동전 1 (0) 2020.07.18 BOJ) 암호 만들기 (0) 2020.07.18 BOJ) 신입 사원 (0) 2020.07.18