[Python] 다른 사람 마음읽기 알고리즘
Srini Devadas의 '퍼즐로 배우는 알고리즘 with 파이썬' 3번째 퍼즐을 풀어보았습니다. 당신이 마술사이고, 관람객 5명이 52장의 카드 중 무작위로 뽑은 카드를 맞추고 싶다면 어떻게 해야할까요? 4개의 카드를 먼저 마술사에게 공개한다면, 그 나머지 한 장을 맞출 수 있을까요? 정답은 "그렇다"입니다. 나머지 한 장의 카드를 어떻게 알 수 있을까요? 트릭은 조수가 마술사에게 보여준 4장의 카드의 순서에 숨어있습니다. 먼저, 조수는 5개의 카드 중 기호가 같은 두개의 카드를 먼저 고릅니다. 카드의 종류는 하트, 다이아, 클로버, 스페이스밖에 없기 때문에 무조건 두개 이상의 같은 종류의 카드가 존재합니다. 예를 들어, 관람객이 뽑은 카드가 10♥, 9◆, 3♥, Q♠, J◆라고 하면 조수는 먼저 ..
더보기