Koala - 6기/기초 알고리즘 스터디

[백준/c++] 17094번: Serious Problem

hoeunwang 2022. 3. 20. 15:44

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

 

17094번: Serious Problem

2의 등장횟수가 더 많다면 2를 출력하고, e의 등장횟수가 더 많다면 e를 출력한다. 등장횟수가 같다면 "yee"를 출력한다. (큰 따옴표 제외)

www.acmicpc.net


문제 해석


문자열의 길이를 먼저 입력받고, 문자열을 입력받은 후
2와 e의 개수를 비교한다.
2가 더 많을땐 2를 출력하고 e가 더 많을땐 e를 출력한다.
단, 둘의 개수가 같을시엔 yee 를 출력한다.


코드


#include <iostream>
using namespace std;
string str;
int n;
int cnt1, cnt2;

int main(void) {
		cin >> n;
	cin >> str;
	for (int i = 0; i < n; i++) {
		if (str[i] == '2')
			cnt1++;
		else if (str[i] == 'e')
			cnt2++;
	}
	if (cnt1 == cnt2)
		cout << "yee";
	else if (cnt1 > cnt2)
		cout << '2';
	else
		cout << 'e';

		return 0;
}

문제 풀이


1. 문자열 길이를 입력받는 n, 입력받을 문자열 str, 2와e의 개수를 세어주는 cnt1,cnt2 변수를 생성한다.

2. 문자열 길이와 문자열을 cin을 통해 입력받는다.

3. 반복문을 문자열길이인 n 만큼 돌려서 입력받은 문자열에서 2와 e의 개수를 조건문으로 구분하여 카운트 해준다.

4. 카운트하여 얻은 cnt1(2의 개수)과 cnt2(e의 개수)를 비교하여 yee또는 2또는 e를 출력한다.