AI Briefing

PyCon 2016 APAC 카카오 'CODING BATTLE 가위바위보' 후기: Day1 랜덤 완승과 Day2 어뷰징 대응

·2016.08.19 00:00

핵심 내용

Day 1에서는 랜덤 전략이 완승을 거뒀으며, Day 2에서는 어뷰징 차단을 위해 격리 프로세스 방식을 도입했다.

1 / 7

자세히 보기

PyCon 2016 APAC 카카오 부스에서 진행된 CODING BATTLE 가위바위보 이벤트는 초기 클라우드 기반 HTTP 통신 방식에서 참가자가 작성한 show_me_the_hand 함수를 이메일로 제출하면 로컬 서버에서 실행하는 방식으로 전환되었다.

전략 분석: 랜덤의 강세

Day 1에서는 random 모듈을 사용한 전략이 완승을 거뒀다. 우승자(k239507)는 가위와 바위만 내는 단순한 확률 조정 전략을 사용했으며, 이는 랜덤을 이기는 유일한 전략으로 평가받았다. Day 2에서는 random 모듈 사용이 금지되었고, 164명이 참가해 총 13,366게임을 진행했다. 이 날 우승자(qkqnrpa)는 상대의 직전 수에 맞춰 카운터 손을 내는 단순한 인덱스 활용 전략을 사용했다. TOP 5 승률(62~71%)을 기록한 참가자들 역시 복잡한 분석보다는 직관적이거나 약간의 전략이 가미된 단순한 접근법을 구사했다.

어뷰징 시도와 보안 대응

참가자들은 연산자 오버로딩(==, __str__)을 이용해 상대의 손을 확인하거나, 모듈 로더를 조작해 다른 참가자의 함수를 강제로 교체하는 어뷰징을 시도했다. 이에 대해 ganadist가 제안한 격리 프로세스 방식을 적용해 대응했다. 각 참가자의 모듈은 독립된 프로세스에서 로드되며 파이프 통신을 통해 상호작용하므로, 모듈 간 상호 침투나 함수 탈취가 원천 차단되었다. 또한 random 모듈 사용 금지 규칙을 위반해 로컬 모듈을 사전 로딩 및 학습한 사례는 탈락 처리되었다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.