포트폴리오/백준 알고리즘

[4일차] 백준_2875

taeni-log 2022. 7. 29. 20:31

오늘은 대회 or 인턴 문제이다.

 

https://www.acmicpc.net/problem/2875

 

나는 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