본문 바로가기

알고리즘(C++)/백준 알고리즘

[백준] C++ 1159번 : 농구 경기

풀이과정


 

선수의 수(N)를 입력받고, 선수들의 이름을 vector<string>형 변수(v)에 입력받는다.

문자 a-z를 아스키코드를 저장할 수 있는 배열(iArr)을 만들고 0으로 초기화 한다.

저장된 선수이름의 첫번째 문자를 int형으로 형변환한 값을 인자로 갖는 변수에 +1을 한다.

배열에 저장된 값이 5이상인 배열의 index를 문자로 형변환하여 출력한다.

코드


#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
	int iArr[200] = { 0, };
	int iInputSize = 0;
	bool bIsGiveUp = true;
	vector<string> v;

	cin >> iInputSize;

	v.reserve(iInputSize);

	for (int i = 0; i < iInputSize; ++i)
	{
		string s;
		cin >> s;

		v.push_back(s);
	}

	vector<string>::iterator iter = v.begin();

	for (iter; iter != v.end(); ++iter)
	{
		iArr[(int)(*iter)[0]] += 1;
	}

	for (int i = 'a'; i < 'z'+1; ++i)
	{
		if (iArr[i] >= 5) 
		{
			cout << (char)i;
			bIsGiveUp = false;
		}
	}
	
	if (bIsGiveUp) cout << "PREDAJA";
}