Problem Solving

BOJ 10769 : 행복한지 슬픈지

onaeonae1 2019. 7. 21. 14:12

문제 링크 

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

 

10769번: 행복한지 슬픈지

문제 승엽이는 자신의 감정을 표현하기 위해서 종종 문자 메시지에 이모티콘을 넣어 보내곤 한다. 승엽이가 보내는 이모티콘은 세 개의 문자가 붙어있는 구조로 이루어져 있으며, 행복한 얼굴을 나타내는 :-) 와 슬픈 얼굴을 나타내는 :-( 가 있다. 혜성이는 승엽이의 이모티콘을 귀여운 척이라고 생각해 매우 싫어하므로, 승엽이의 문자가 오면 전체적인 분위기만 판단해서 알려주는 프로그램을 작성하고 싶다. 입력 첫 줄에 최소 1개에서 최대 255개의 문자들이 입력된

www.acmicpc.net

문제 설명

 

문자열 ":-)" 가 등장한 횟수와 문자열 ":-(" 가 등장한 횟수를 세서 비교해주는 문제

 

풀이

-문자열 탐색으로 쉽게 풀 수 있는 문제이다

-문자열 탐색에서 C++의 string find 기능을 적극 활용했다.

-문제 자체가 어려운 것은 아니고 string find 기능을 공부해보자는 생각으로 접근했던 것 같다.

-string find는 다음 주소를 참고했다. https://modoocode.com/241

-참고로 string find는 단순한 탐색을 사용하기 때문에 긴 문자열에 적합하지 않다. 매우 느리다.

 

긴 문자열에서 검색이 필요한 경우, KMP를 쓰는게 권장된다.

 

C++ 레퍼런스 - string 의 find 함수

...

modoocode.com

 

코드는 깃허브!

https://github.com/onaeonae1/ProblemSovling/blob/master/BOJ%2010769.cpp

 

onaeonae1/ProblemSovling

Problem Solving(BOJ/AOJ/Programmers) with C++. Contribute to onaeonae1/ProblemSovling development by creating an account on GitHub.

github.com