Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 28431번 - '양말 짝 맞추기' (PYTHON 풀이) 본문
문제:

한 쌍의 양말을 만들기 위해 남는 나머지의 숫자를 구하는 문제이다.
풀이:
result = 0
for i in range(5):
num = int(input())
result ^= num
print(result)
필자는 해당 문제를 풀기 위해 XOR 연산을 활용하였다. XOR 연산은 같은 수라면 0이 되고 그게 아니면 그대로 값을 유지하게 한다. 예를 들어 3^3이면 0이 되고, 0^5면 5가 남는다.
XOR 계산을 위한 result 변수를 선언한 뒤, 반복문을 다섯번 돈다. 입력을 받은 다음 result와 XOR 연산을 수행한다. 처음 반복문을 돌고 입력값이 1 2 3 2 1 일 때, 계산은 다음과 같이 진행된다.
0 ^ 1 = 1
1 ^ 2 = 3
3 ^ 3 = 0
0 ^ 2 = 2
2 ^ 1 = 3
결국 짝이라면 반드시 해당 수가 두 번 존재하게 될거고, 두 번 존재하면 XOR 특성 상 같은 값은 0으로 만든다는 특징 때문에, 사라지게 되고 짝이 없는 값 한 개만 남게 된다. 결과적으로 마지막에 result에는 짝이 없는 수가 남게 되므로 이 수를 출력하면 된다.
'CODING 💻' 카테고리의 다른 글
| 백준 25191번 - '치킨댄스를 추는 곰곰이를 본 임스' (PYTHON 풀이) (1) | 2026.04.14 |
|---|---|
| 백준 28074번 - '모비스' (PYTHON 풀이) (0) | 2026.04.13 |
| 백준 3029번 - '경고' (PYTHON 풀이) (0) | 2026.04.11 |
| 백준 25640번 - 'MBTI' (PYTHON 풀이) (0) | 2026.04.10 |
| 백준 5532번 - '방학 숙제' (PYTHON 풀이) (0) | 2026.04.09 |
