Algorithm

[백준] 알고리즘 1157번 - 단어공부 문제

낭강 2020. 11. 23. 13:29

#include<bits/stdc++.h>
using namespace std;
int arr[27];
int main()
{
	ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
	string s;
	cin >> s;
	for (int i = 0; i < s.size(); i++) {
		if ('A' <= s[i] && s[i] <= 'Z') {
			int index = 0;
			index = s[i] - 'A';
			arr[index] += 1;
		}
		if ('a' <= s[i] && s[i] <= 'z') {
			int index = 0;
			index = s[i] - 'a';
			arr[index] += 1;
		}
	}
	int tmp = 0;
	int idx = 0;
	int sameidx = 26;
	for (int i = 0; i < 26; i++) {
		if (arr[i] == 0) continue;
		if (tmp < arr[i]) {
			tmp = arr[i];
			idx = i;
		}
		else if (tmp == arr[i]) sameidx = i;
	}
	int ans = 0;
	if (arr[idx] > arr[sameidx]) cout << (char)(idx+'A');
	else cout << "?";
}

 


간단한 구현문제입니다.

대소문자 구분을 해준다음 -'a' 또는 -'A' 를 해주게 되면 알파벳의 순서를 나타내는데 이것을 배열 인덱스에 저장하여 개수를 확인합니다.