문제
A, B 두 사람이 가위바위보 게임을 합니다. 총 N번의 게임을 하여 A가 이기면 A를 출력하고, B가 이기면 B를 출력합니다. 비길 경우에는 D를 출력합니다. 가위, 바위, 보의 정보는 1:가위, 2:바위, 3:보로 정하겠습니다. 예를 들어 N=5이면
회수 | 1 | 2 | 3 | 4 | 5 |
A의 정보 | 2 | 3 | 3 | 1 | 3 |
B의 정보 | 1 | 1 | 2 | 2 | 3 |
승자 | A | B | A | B | D |
두 사람의 각 회의 가위, 바위, 보 정보가 주어지면 각 회를 누가 이겼는지 출력하는 프로그램을 작성하세요.
입력설명
첫 번째 줄에 게임 횟수인 자연수 N(1<=N<=100)이 주어집니다. 두 번째 줄에는 A가 낸 가위, 바위, 보 정보가 N개 주어집니다. 세 번째 줄에는 B가 낸 가위, 바위, 보 정보가 N개 주어집니다.
출력설명
각 줄에 각 회의 승자를 출력합니다. 비겼을 경우는 D를 출력합니다.
입력예제
5
2 3 3 1 3
1 1 2 2 3
출력예제
A
B
A
B
D
#include <stdio.h>
int a[101], b[101];
int main(){
//freopen("input.txt", "rt", stdin);
int n, i;
scanf("%d", &n);
for(i=0; i<n; i++){
scanf("%d", &a[i]);
}
for(i=0; i<n; i++){
scanf("%d", &b[i]);
}
for(i=0; i<n; i++){
if(a[i] == b[i]) {
printf("D\n");
} else if(a[i] == 1 && b[i] == 3){
printf("A\n");
} else if(a[i] == 2 && b[i] == 1){
printf("A\n");
} else if(a[i] == 3 && b[i] == 2){
printf("A\n");
} else {
printf("B\n");
}
}
return 0;
}
비기는 경우와 A가 이기는경우만 빼면 나머지는 B가 이기는것으로 짜면됩니다.
그치만 상대가 마동석이라면 어떨까요?
가위바위보에서 졌을땐 근육이 부족하지 않은지 생각해봅시다.
'알고리즘 > it 취업을 위한 알고리즘 문제풀이' 카테고리의 다른 글
22. 온도의 최대값 (0) | 2021.05.18 |
---|---|
21. 카드게임 (0) | 2021.05.17 |
19. 분노 유발자 (0) | 2021.05.17 |
18. 층간소음 (0) | 2021.05.17 |
17. 선생님 퀴즈 (0) | 2021.05.17 |