※ 웹 환경에 최적화된 서식이므로 웹 페이지로 열람함을 권장.
가위 바위 보 게임
가위는 보를 이기고, 보는 바위를 이기고, 바위는 가위를 이긴다. 세 가지 수에 의해 승패가 순환되므로 모듈러 연산을 통해 승패를 구분지을 수 있다.
가위
↗ ↘
바위 ← 보
가위 : 1, 바위 : 2, 보 : 3, 내가 낸 것 : x, 상대가 낸 것 : y 이면, (x % 3) + 1 == y 일 때 나는 진다. 따라서, 다음 세 가지 경우를 검사해 승패를 결정 지을 수 있다.
1. x == y (무승부)
2. (x % 3) + 1 == y (패배)
3. else (승리)
void rockPaperScissors(int x, int y) {
if (x == y) cout << "Draw.";
else if ((x % 3) + 1 == y) cout << "Winner is y.";
else cout << "Winner is x.";
}
'문제 해결 알고리즘 기초 > 몸 풀기' 카테고리의 다른 글
O(N * M) 과 O(N) 으로 해결하는 이동 평균 (0) | 2021.08.31 |
---|---|
정렬 알고리즘 (거품, 선택, 삽입 정렬) (0) | 2021.08.31 |
배열에서 두 원소의 합 (2Sum) (0) | 2021.08.31 |