오늘은 대회 or 인턴 문제이다.
나는 while을 사용해서 간단하게 코드를 짰다.
코드를 해결 하기 위해서 나는 우선 k값에 집중을 했다.
나의 알고리즘은 다음과 같다.
1. k값은 그대로 두고 m값과 w값을 줄이기
=> 이를 위해서 나는 while문 사용 했다.
2. 팀을 구성하기 위해서는 여자는 최소 2명 이상이여야 하고 남자는 3명 이상, 전체학생수는 3+ k(반드시 인턴십 가는 학생의 수)이상이여야 함의 조건을 적용하기
3. m값과 w값 빼주고 그리고 결성된 team 값은 더해주기
이러한 알고리즘 대로 작성된 코드는 아래와 같다.
<실행코드>- JAVA import java.util.Scanner; public class Main { public static void main(String[] args) { System.out.println("여학생의 수를 입력하세요"); int w = new Scanner(System.in).nextInt(); // 여학생의 수 System.out.println("남학생의 수를 입력하세요"); int m = new Scanner(System.in).nextInt(); // 남학생의 수 System.out.println("반드시 인터쉽에 참여하는 인원의 수를 입력하세요"); int k = new Scanner(System.in).nextInt(); // 인터쉽에 참여하는 인원 int team =0; //team 초기식 반복을 위한 조건에 사용하는 변수 while ( w>= 2 && m>=1 && w+m >= 3 + k){ w-=2; m--; team++; } System.out.println("대회에 참여하는 팀 : " + team + "팀");// 만들 수 있는 팀의 최대 } } |
알고리즘 4일차 다들 쉬운 문제라고 하는 데, 나는 아직 이런 방식으로 고민하는 것이 어렵지만
아직 말그대로 4일 차니까 열심히 해보자!!
'포트폴리오 > 백준 알고리즘' 카테고리의 다른 글
[6일차] 백준 _ 2750 (0) | 2022.08.01 |
---|---|
[5일차] 백준 class1_1000,1001,1008 (0) | 2022.07.31 |
[3일차] 백준_17608 (0) | 2022.07.29 |
[2일차] 백준 15953 (0) | 2022.07.28 |
[1일차] 백준_2739 (0) | 2022.07.27 |