[Problem]
[Solution]
arr배열과 brr배열에는 A와 B가 가지고 있는 카드 숫자를 저장한다.
sum_a는 A의 최종 점수를, sum_b에는 B의 최종 점수를 저장한다.
num 은 A와 B가 공개한 숫자가 같은 경우가 몇 번 있었는지 세기 위한 변수이다.
flag는 누가 마지막으로 이겼는지 확인하기 위한 변수이다.(flag값이 0이면 A가 flag값이 1이면 B가 마지막으로 이긴 것)
1. arr배열과 brr배열에 숫자를 입력받는다.
2. for문을 활용하여 0부터 9까지 수행한다.
2-1. arr[i]값이 brr[i]값보다 큰 경우 flag에 0을 저장하고 sum_a에 3을 더한다.
2-2. arr[i]값이 brr[i]값보다 작은 경우 flag에 1을 저장하고 sum_b에 3을 더한다.
2-3. arr[i]값과 brr[i]값이 같은 경우 sum_a과 sum_b에 1을 더하고 num 값을 1만큼 올린다.
3. sum_a 와 sum_b값을 출력한다.
4. sum_a값이 sum_b값보다 크면 'A'를 출력한다.
5. sum_b값이 sum_a값보다 크면 'B'를 출력한다.
6. sum_a값과 sum_b값이 같을 때
6-1. num값이 10이면 'D'를 출력한다.
6-2. num값이 10이 아니면
6-2-1. flag값이 0이면 'A'를 출력한다.
6-2-2. flag값이 1이면 'B'를 출력한다.
[Answer]
#include <iostream>
using namespace std;
int main() {
int arr[10];
int brr[10];
int sum_a = 0;
int sum_b = 0;
int num = 0;
int flag = 0;
for(int i = 0; i < 10; i++) {
cin >> arr[i];
}
for(int i = 0; i < 10; i++) {
cin >> brr[i];
}
for(int i = 0; i < 10; i++) {
if(arr[i] > brr[i]) {
sum_a += 3;
flag = 0;
}
if(arr[i] < brr[i]) {
sum_b += 3;
flag = 1;
}
if(arr[i]==brr[i]) {
sum_a += 1;
sum_b += 1;
num ++;
}
}
cout << sum_a << " " << sum_b << "\n";
if(sum_a>sum_b) {
cout << 'A';
}
if(sum_a < sum_b) {
cout << 'B';
}
if(sum_a==sum_b) {
if(num==10) {
cout << 'D';
}
else {
if(flag==0) {
cout << 'A';
}
else {
cout << 'B';
}
}
}
return 0;
}
'Koala - 10기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/Python] 10173:니모를 찾아서 (0) | 2023.03.19 |
---|---|
[백준/Python] #2563 색종이 (0) | 2023.03.17 |
[백준/Python] #1302 베스트셀러 (0) | 2023.03.15 |
[백준/Python] 20540:연길이의 이상형 (0) | 2023.03.12 |
[백준/JAVA] 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2023.03.12 |