본문 바로가기
Algorithm

[구현/수학] 백준 16204 카드 뽑기 - Python

by jangThang 2022. 2. 19.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    16204번: 카드 뽑기

    첫째 줄에 N, M, K가 주어진다. (1 ≤ N ≤ 1,000,000, 0 ≤ M, K ≤ N)

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     앞, 뒷면이 같은 기호인 카드의 최대 갯수를 구하는 문제입니다.

     

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

     

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

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

    star7sss.tistory.com

     최대한 같은 부호끼리 겹쳐서 쓰면 됩니다. 앞장이 O이면 뒷장에도 O를 쓰면 되겠죠. 만약 뒷장에 쓸 O가 부족하다면, 뒷장의 O의 개수만큼이 앞뒤가 같은 O 카드의 개수가 됩니다. 반대로 뒷장에 쓸 O가 남는다면, 앞장에 쓴 O카드가 최대가 됩니다.

     

     

     

    3. 코드

    N, M, K = map(int, input().split())
    maxO = min(M, K) #앞, 뒷장이 같은 최대 O의 개수
    maxX = min(N-M, N-K) #앞, 뒷장이 같은 최대 X의 개수
    print(maxO+maxX)

     앞뒤가 같은 O카드의 최대 개수는 min(M, K)이고, 앞뒤가 같은 X카드의 최대 개수는 min(N-M, N-K)가 됩니다.

     

     

    star가 되고나서 Tistory

    반응형

    댓글