Kiki Devlog

[1157번][브1] 단어 공부 본문

Coding Test/백준

[1157번][브1] 단어 공부

kimkiki 2022. 3. 2. 23:44
728x90

1. 모든 알파벳을 대문자로 만들기

2. 크기가 26인 배열을 만들어 A~Z까지 갯수를 세기(countAry[0] 은 A의 갯수 등)

3. 지금까지 제일 많이 등장한 알파벳이라면,  answer = 그 알파벳

    이전의 알파벳과 동일한 횟수로 많이 등장했다면,  answer = '?'   

 

대문자로 만드는 toupper()이나 +=32하는 법만 안다면 쉬운 문제

#include <iostream>
#include <string>

using namespace std;

int main() {
	int countAry[26] = { 0 };
	int maxAlphabet = -1;
	char answer;
	string input;

	cin >> input;

	/*알파벳 대문자 변환 후 숫자 세기*/
	for (int i = 0; i < input.length(); i++) {
		if (input[i] >= 'a' && input[i] <= 'z') {
			input[i] = toupper(input[i]); // input[i] += 32
		}
		int ascii = input[i] - 'A';
		countAry[ascii]++;
	}


	for (int j = 0; j < sizeof(countAry) / sizeof(int); j++) {
		if (countAry[j] > maxAlphabet) { //최대 알파벳이 있다면
			maxAlphabet = countAry[j];
			answer = 'A' + j;
		}
		else if (countAry[j] == maxAlphabet) {//최대 알파벳이 중복이라면
			answer = '?';
		}
	}

	cout << answer << endl;

	return 0;
}

 

 

 

+ 브론즈 1됐다! 오늘 문제를 세개 풀었다. 오버워치 점수는 제자린데,, 그냥 게임말고 이거 하는게 행복할거같다. 내일은 약속있으니까 모레쯤이면 실버가 돼있을까? 맘은 벌써 골드가고싶음(❁´◡`❁)

 

 

 

1157번: 단어 공부 (acmicpc.net)

Comments