[백준/C++] 18158번 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 18158번 문제
- 문제풀이 코드 GitHub 링크
- 제출 언어: C++17
풀이
문제
이제부터 여러분은 교준이와 간단한 가위바위보 게임을 하게 된다. 교준이는 가위바위보를 하기 전에 다음과 같은 심리전을 펼친다.
-
가위바위보 전에 “교준이는 ‘가위’를 낼거야!” 라고 말한 경우 실제로 교준이는 ‘주먹’을 낸다.
-
가위바위보 전에 “교준이는 ‘보’를 낼거야!” 라고 말한 경우 실제로 교준이는 ‘보’를 낸다.
-
가위바위보 전에 “교준이는 ‘주먹’을 낼거야!” 라고 말한 경우 실제로 교준이는 ‘가위’를 낸다.
이제부터 교준이와 총 T번의 가위바위보를 하게 된다. 다만 여러분은 T번의 가위바위보를 모두 교준이에게 져야 한다.
교준이와 가위바위보를 하는 프로그램을 작성하시오.
입력 요약
Sample Grader는 다음과 같은 정보를 Standard Input을 통해 읽어들인다. 여러분은 어떠한 입력도 받으면 안된다.
첫 번째 줄에 교준이와 할 게임의 총 판수를 의미하는 자연수 T가 주어진다.
두 번째 줄부터 T개의 줄에 걸쳐, 함수 janken의 인자 P의 값이 주어진다.
출력 요약
Sample Grader는 다음과 같은 정보를 Standard Output을 통하여 출력한다. 여러분은 어떠한 출력도 하면 안된다. 첫 번째 줄부터 T개의 줄에 걸쳐, 함수 janken이 반환한 값을 출력한다.
코드
#include "WAEP.h"
void init(int T) {}
int janken(int P) { return P == 0 ? 0 : (P == 2 ? 2 : 5); }
설명
핵심은 구현 관점에서 이제부터 여러분은 교준이와 간단한 가위바위보 게임을 하게 된다. 교준이는 가위바위보를 하기 전에 다음과 같은 심리전을 펼친다.
- 가위바위보 전에 “교준이는 ‘가위’를 낼거야!” 라고 말한 경우 실제로 교준이는 ‘주먹’을 낸다. …를 만족하도록 로직을 구성하는 것입니다.
코드는 입력을 파싱한 뒤 조건 분기와 계산을 순서대로 수행하고, 문제에서 요구한 형식으로 결과를 출력합니다.
경계값과 예외 케이스도 함께 고려해 오답이 나기 쉬운 상황을 방지합니다.
댓글남기기