[BOJ/백준] 2875. 대회 or 인턴 (Python)

3593 단어 구현구현

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

Problem

남녀가 짝을 짖고, 인턴 자리에 필수로 내보낸뒤 남은 짝의 개수

Solution

순수구현

코드설명

1)남녀가 지을수 있는 최대한의 짝을 짓기
2)전체인원수(남+여)-(커플)*3, 즉 남은 사람을 구하기
3)그 남은 사람이 K보다 같거나 크면 상관없음
4)K가 나머지 인원보다 크다면 커플을 찢어야함
5)그 찢는 과정을 for 문을 통해 하나하나 찢은다음 K-remain값보다 큰지 check

Python Code

import sys

N,M,K=map(int,sys.stdin.readline().split())

cnt=0
total=N+M

if N>=(M*2):
    cnt+=M
else:
    cnt=N//2
remain=total-(cnt)*3

if remain>=K:
    print(cnt)
else:
    tmp=0
    K=K-remain
    for i in range(1,cnt+1):
        if i*3>=K:
            tmp=i
            break
    cnt-=tmp
    print(cnt)

좋은 웹페이지 즐겨찾기