본문 바로가기
Algorithm

[구현/수학] 백준 4299 AFC 윔블던 - Python

by jangThang 2022. 2. 16.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    4299번: AFC 윔블던

    원섭이는 잉글랜드 4부리그 풋볼 리그 2에서 활약하는 AFC 윔블던을 좋아한다. 이 팀은 2002년 윔블던 FC가 밀턴 킨스로 연고 이전을 감행하자 윔블던의 서포터들이 스스로 나서 창단한 팀이다. 윔

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     두 점수의 합과 차가 주어지고, 이를 이용해서 두 점수를 추측하는 문제입니다.

     

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

     

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

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

    star7sss.tistory.com

     문제가 상당히 깁니다.. 이런 경우 대부분 문제와는 상관없는 배경 내용이기 때문에... 바로 밑의 두줄만 읽었습니다.

    (포켓몬 마스터 이다솜에서 한 번 당했으면 됐다...)

    2022.02.12 - [Algorithm] - [자료구조/해시] 백준 1620 나는야 포켓몬 마스터 이다솜 - Python

     

    [자료구조/해시] 백준 1620 나는야 포켓몬 마스터 이다솜 - Python

    [ Contents ] 1. 문제 (링크 참조) 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고,

    star7sss.tistory.com

     

     연립방정식을 이용해서 합과 차를 통해, 두 팀의 점수를 구할 수 있습니다.

    A + B = sum
    A - B = sub
    ∴ A = (sum + sub)/2, B = sum - A 

     

     위 연립방정식대로 A와 B를 구해줍니다.

     

     

     

    3. 코드

    _sum, sub = map(int, input().split())
    # A + B = _sum
    # A - B = sub (단, A > B)
    # 따라서 A = (_sum + sub)/2, B = _sum - A
    
    A = (_sum + sub)//2
    B = _sum - A
    # -1인 경우
    if A < 0 or B < 0 or A*2 != _sum + sub:
        print(-1)
    else:
        print(A, B)

     A 또는 B가 음수이거나, A가 소수이면 -1를 출력합니다.

     A*2 != _sum + sub 조건 말고, A.is_integer()를 이용해서 정수인지 판단할 수도 있습니다.

     

    star가 되고나서 Tistory

    반응형

    댓글