본문 바로가기
Algorithm

[구현/수학] 백준 28431 양말 짝 맞추기 - 파이썬(Python)

by jangThang 2023. 8. 7.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    28431번: 양말 짝 맞추기

    $6$이 쓰여 있는 양말 두 개를 한 짝으로, $8$이 쓰여있는 양말 두 개를 한 짝으로 만들면 $3$이 남습니다.

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     동일한 숫자 2쌍과 또 다른 숫자가 주어집니다. (총 5개)

     또 다른 숫자를 찾아 출력해야 합니다.

     

    반응형

     

    3. 코드

    import sys
    input = sys.stdin.readline
    
    # 입력
    lst = set()
    res = 0
    for _ in range(5):
        a = int(input())
        if a in lst:
            res -= a
            lst.discard(a)
        else:
            lst.add(a)
            res += a
    print(res)

     파이썬의 집합 자료구조를 이용해서 없으면 추가하고, 있으면 뺍니다.

     그러면 쌍이 아닌 숫자만 남게 됩니다.

     

    print(19 ^ 19) # 0

     입력받은 5개 숫자를 XOR하는 방법도 있습니다.

     자기 자신과의 XOR연산은 0으로 상쇄되기 때문에, 쌍이 없는 숫자만 남게 됩니다.

     

    star가 되고나서 Tistory

    반응형

    댓글