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";
}
}
[결과 화면]