본문 바로가기
Algorithm

[구현/수학] 백준 2875 대회 or 인턴 - Python

by jangThang 2022. 2. 4.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    2875번: 대회 or 인턴

    첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N),

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     여자 2명, 남자 1명이 팀을 이뤄 대회에 출전합니다. 여자 N명, 남자 M명이 주어질 때, 최대 팀 수를 구하는 문제입니다. 단, 학생들 중 일부(K명)는 반드시 인턴십에 참여해야 해서 대회에 출전할 수 없습니다.

     

    2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학

     

    [Algorithm] 단골 1번 문제, 구현 / 수학

    [ Contents ] 1. 구현  단순히 '구현'만 하면 되는 문제 유형입니다. 문제를 이해하고 입력에 맞춰 적절한 출력만 하면 됩니다. 특별한 알고리즘이나 프로그래밍적 기법 없이, 단순 제어문만 사용하

    star7sss.tistory.com

     조건에 맞춰 최대 팀 수를 구합니다. 주의해야 할 점은 인턴십에 참가할 K명을 반드시 확보해야 합니다. 남녀가 짝을 맞추고 남은 인원을 배정하면 좋겠지만, 그렇지 않을 경우에는 팀을 해체해서라도 확보해야 합니다.

     

     

    3. 코드

    N, M, K = map(int, input().split())
    
    team = 0
    while True:
        N -= 2
        M -= 1
        # 남은 여자 혹은 남자가 0명 미만이거나, 인턴십 보낼 학생이 모자를 때
        if N < 0 or M < 0 or N+M < K:
            break
        team += 1
    print(team)

     저는 조건에 맞는지 먼저 검토하고, 팀을 하나씩 조성하는 방법을 사용했습니다. 남은 여자나 남자가 없거나, 인턴십에 보낼 학생이 모자르면 팀 조성을 마쳤습니다.

     

     

    반응형

    댓글