문제:https://www.acmicpc.net/problem/2966
1)문제분류
-부루스포트
2)문제해결
-간단한 구현 문제
-각 사람마다 패턴을 배열에 담은 후, 문제와 패턴을 함께 포문으로 돌면서 카운트를 세면된다.
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
char Adrian[3] = { 'A','B','C' };
char Bruno[4] = { 'B', 'A', 'B', 'C'};
char Goran[6] = { 'C', 'C', 'A', 'A', 'B', 'B' };
char input[102];
int n;
typedef struct Data
{
int score;
string name;
}Data;
Data person[3];
int main()
{
person[0].name = "Adrian";
person[1].name = "Bruno";
person[2].name = "Goran";
cin >> n;
for (int i = 0; i < n; i++)
cin >> input[i];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < 3; j++)
{
if (i + j < n&&input[i + j] == Adrian[j])
person[0].score++;
}
i += 2;
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < 4; j++)
{
if (i + j < n&&input[i + j] == Bruno[j])
person[1].score++;
}
i += 3;
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < 6; j++)
{
if (i + j < n&&input[i + j] == Goran[j])
person[2].score++;
}
i += 5;
}
int M = (max(max(person[0].score, person[1].score), person[2].score));
cout << M << endl;
for (int i = 0; i < 3; i++)
if (M == person[i].score)
cout<<person[i].name<<endl;
}
'알고리즘문제풀이' 카테고리의 다른 글
[백준 16929] Two Dots (0) | 2019.02.14 |
---|---|
[백준 16928]뱀과 사다리 게임 (0) | 2019.02.14 |
[백준 14500]테트로미노 (0) | 2019.02.13 |
[백준1987]알파벳 (0) | 2019.02.13 |
[백준 2573]빙산 (0) | 2019.02.13 |