-
모각코 PS스터디 / 백준 2875 "대회 or 인턴"PS 2022. 5. 21. 16:43
모각코 PS스터디
왜인지 모르겠는데 PS는 하고 나서 포스팅 하는 걸 자꾸 까먹는다.
이번주 스터디 한 세 문제를 차례로 포스팅해보려고 한다.문제와 풀이
문제 링크 : 백준 2875번 - 대회 or 인턴
👇펼쳐서 코드와 해설 읽기
그리디(greedy) 카테고리의 문제다.
팀을 만드는 데에는 여자2와 남자1이 필요하고, 인턴은 아무나 1이 필요하다.
일단 팀이 많은게 좋다고 하니까, 가능한 팀을 최대한 구성해 놓고, 그다음에 인턴갈 인원을 차출한다.
인턴 갈 사람수가 부족하면 팀을 깨야하는데, 한팀씩 깨서 부족한 만큼만 팀을 깨야 한다.
그리고 결과를 출력해주면 된다.import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int female = sc.nextInt(); int male = sc.nextInt(); int intern = sc.nextInt(); /* * 팀 하나 당, 여2 + 남1 / 인턴은 아무나 1 * */ int teamCount = 0; /* 일단 팀을 가능한대로 구성한다 */ while (female >= 2 && male >= 1) { female -= 2; male -= 1; teamCount++; } if (female + male < intern) { /* 남은 인원으로 인턴 커버 불가능하면 */ intern -= female + male; /* 일단 남은 인원 최대한 빼고 */ while (intern > 0) { /* 최소한으로 팀을 부셔야 한다 (깰때마다 팀카운트 줄인다) */ teamCount--; intern -= 3; } } System.out.println(teamCount); /* 출력 */ } }
마무리
나에겐 이런 종류의... 의식의 흐름대로 구성하면 되는 문제가 그나마 쉽다. 알고리즘 어려벙.
'PS' 카테고리의 다른 글
PS미세먼지 팁: 정수 자릿수 구할 때 Math.log10() + 1? (2) 2022.05.24 모각코 PS / 카카오 2020 신입 블라인드 채용 1차 문자열 압축 (0) 2022.05.21 모각코 PS스터디 / 백준 1783 병든 나이트 (0) 2022.05.21 모각코 내부스터디 PS / 백준 1449번 - 수리공 항승 (2) 2022.05.13 프로그래머스 - Lv2. 오픈채팅방 (0) 2022.03.10 프로그래머스 - Lv1. 다트 게임 (0) 2022.03.04