[Algoritm] 1159-농구경기

gunggme·2023년 11월 17일

알고리즘

목록 보기
9/42

시작

농구 경기를 하는데 팀을 구성하려면 같은 성씨가 5명 이상이여야 한다. 그렇다면 어떻게 구해야되는지 알아보자. 우선 알파벳들 index배열을 만들어야되는데 전에도 이야기 했듯이, 소문자로 이루어진 알파벳의 개수는 26개니 배열을 만들어 앞글자의 수만 저장하면 되는 것! 그렇다면 한번 알고리즘을 제작해보자.

알고리즘

  1. 농구선수의 이름을 입력 받는다
  2. 이름의 0번째는 무조건 앞글자니 그 앞글자와 문자 'a'와 뺀 수의 배열 인덱스에 +1
  3. 그 후 각 인덱스를 확인한 후, 알파벳을 출력
    3-1. 만약 없으면 PREDAJA를 출력

이런식으로 짜면 될 것 같다. 그렇다면 밑에는 내가짠 코드다.

코드

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

using namespace std;

int main() {
	string a;
	int index, arrIndex = 0;
	vector<int> arr(26);
	cin >> index;
	for (int i = 0; i < index; i++) {
		cin >> a;
		// 'a' - 'a' = 0
		// 'b' - 'a' = 1
		arr[a[0] - 'a']++;
	}

	for (int i = 0; i < arr.size(); i++) {
		if (arr[i] >= 5) {
			// 0 + 'a' = 'a'
			cout << (char)(i + 'a');
			arrIndex++;
		}
	}
	// 출력 된 수가 없으니 항복
	if (arrIndex == 0) {
		cout << "PREDAJA";
	}
}
profile
안녕하세요!

0개의 댓글