알고리즘/it 취업을 위한 알고리즘 문제풀이

20. 안내면 진거~ 가위바위보!

고줭 2021. 5. 17. 15:50
문제

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