728x90
[목적]
A, B 두 사람이 가위바위보를 한다.
먼저 가위바위보를 할 횟수를 정한 후, 횟수만큼 A가 가위, 바위, 보를 정한 후 B도 정한다.
그 후 결과를 출력하는 프로그램이다.
가위, 바위, 보의 정보는 1: 가위, 2: 바위, 3: 보로 정하며 두 사람이 비길 시의 결과는 D로 출력한다.
[입력예제]
5
2 3 3 1 3
1 1 2 2 3
[출력예제]
A
B
A
B
D
총 5번의 가위바위보를 진행한다고 하였으며, A의 가위바위보의 값(2, 3, ,3, 1, 3)과 B의 가위바위보의 값(1, 1, 2, 2, 3)을 입력해주었다.
가위, 바위, 보의 승리/패배/비김의 조건에 맞춰 결과를 위와 같이 이긴 사람과 비긴경우에 대해 출력하였다.
[코드]
#include <iostream>
using namespace std;
int main(int argc, const char * argv[]) {
int num;
cin >> num;
int a[num], b[num];
for(int i=0; i<num; i++) cin >> a[i];
for(int i=0; i<num; i++) cin >> b[i];
for(int i=0; i<num; i++){
if(a[i]==b[i]) cout << "D" << endl;
else if(a[i]==1){
if(b[i]==2) cout << "B" << endl;
else cout << "A" << endl;
}
else if(a[i]==2){
if(b[i]==1) cout << "A" << endl;
else cout << "B" << endl;
}
else if(a[i]==3){
if(b[i]==1) cout << "B" << endl;
else cout << "A" << endl;
}
}
return 0;
}
1. 몇번의 가위바위보를 진행 할 지 입력(num)한다.
2. for문을 통해 A와 B의 값을 각각 입력 해준다. (a[num], b[num])
3. a와 b의 배열에 있는 값을 이용하여 먼저 값이 같으면 비기는 것으로 출력해준 후 비교구문을 통해 승/패 결과를 출력한다.
a의 이기는 경우의 수를 비교 한 후 else문을 통해 나머지는 b가 이긴 것이니 b를 출력해주는 것도 좋은 방법인것 같다.
[실행 결과]
728x90
반응형
'문제풀이 > C++' 카테고리의 다른 글
[C++] 온도의 최대값 (0) | 2021.01.10 |
---|---|
[C++] 카드게임 (0) | 2021.01.08 |
[C++] 분노 유발자 (0) | 2021.01.05 |
[C++] 층간소음 (0) | 2021.01.05 |
[C++] 선생님 퀴즈 (0) | 2021.01.02 |