Baekjoon[백준] 1157 단어 공부 문제 C++ 풀이

less than 1 minute read

문제 링크

https://www.acmicpc.net/problem/1157


안녕하세요.

SW 알고리즘 문제로 유명한 사이트 Baekjoon Online Judge의 소스코드를 공유해드립니다.

도움이 되었으면 좋겠습니다.

감사합니다.


해답

#include<iostream>
#include<string>
using namespace std;

//아스키코드 : 소문자 97~122, 대문자 65~90

int main()
{
	string str;
	cin >> str;

	int num[26] = {0,}; 
	int max = -1;
	int idx = -1;

	for (int i = 0; i < str.length(); i++)
	{
		if(str[i]<97)
			num[str[i] - 65]++; //대
		else
			num[str[i] - 97]++; //소

	}

	for (int i = 0; i < 26; i++)
	{
		
		if (max < num[i])
		{
			max = num[i];
			idx = i;
		}
	}

	for (int i = 0; i < 26; i++)
	{
		if (idx == i)
			continue;
		if (max == num[i])
		{
			cout << '?';
			return 0;
		}
	}
	
	cout << (char)(idx+65);
	return 0;
}

Leave a comment