YJ/C++

[백준/BOJ/C++] 10769번 행복한지 슬픈지

Team DAON 2021. 10. 20. 15:51

[문제]

승엽이는 자신의 감정을 표현하기 위해서 종종 문자 메시지에 이모티콘을 넣어 보내곤 한다. 승엽이가 보내는 이모티콘은 세 개의 문자가 붙어있는 구조로 이루어져 있으며, 행복한 얼굴을 나타내는 :-) 와 슬픈 얼굴을 나타내는 :-( 가 있다.

혜성이는 승엽이의 이모티콘을 귀여운 척이라고 생각해 매우 싫어하므로, 승엽이의 문자가 오면 전체적인 분위기만 판단해서 알려주는 프로그램을 작성하고 싶다.

 

[입력]

첫 줄에 최소 1개에서 최대 255개의 문자들이 입력된다.

 

[출력]

출력은 다음 규칙에 따라 정해진다.

  • 어떤 이모티콘도 포함되어 있지 않으면, none 을 출력한다.
  • 행복한 이모티콘과 슬픈 이모티콘의 수가 동일하게 포함되어 있으면, unsure 를 출력한다.
  • 행복한 이모티콘이 슬픈 이모티콘보다 많이 포함되어 있으면, happy 를 출력한다.
  • 슬픈 이모티콘이 행복한 이모티콘보다 많이 포함되어 있으면, sad 를 출력한다.

 

[Source Code]

#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <cmath>
using namespace std;

int main() {
	int count = 0, none = 1;

	string input;
	getline(cin, input);

	for(int i = 0; i < input.length() - 2; i++){
		if(input[i] == ':' && input[i+1] == '-'){
			if(input[i+2] == '('){
				count--;
				none = 0;
			}
			else if(input[i+2] == ')'){
				count++;
				none = 0;
			}
		}
	}

	if(none == 1)
		cout << "none";
	else{
		if(count == 0)
			cout << "unsure";
		else if(count > 0)
			cout << "happy";
		else
			cout << "sad";
	}
}

[결과 화면]