[문제 풀이]
순서대로 "CAT"이라는 단어가 순서대로 한 번만 존재해야하지만 "YES"가 출력되는 문제이다.
꼭 붙어있을 필요는 없고, 예제 이력 4를 보면 CAT가 하나 있는 것처럼 볼 수도 있겠지만!
CCCATT, CCCATT, CCCATT, CCCATT, CCCATT, CCCATT 로 여러가지의 CAT이 나오므로 출력은 NO라고 볼 수 있다.
[소스코드 설명]
변수 cat은 사용자의 입력이 들어가게 되고, cat2에는 C, A, T일 경우, 그 단어를 받아들이는 임시 변수라고 보면 된다.
그리고 여기서 cat2.find("CAT"); 라는 것을 썼는데, 그것은 C++에서 제공하는 find()함수를 이용하여 cat2에 CAT이 존재하는지를 찾아주는 함수이다.
string::find
CString 개체의 문자열 기준, 좌측에서부터 문자 혹은 문자열을 검색한다.
string::find()를 통하여 원하는 단어나 문장을 검색 후
그것이 문자열에 있는지 없는지는 string::npos를 통하여 알 수가 있다.
(string::find()는 찾고자 하는 단어나 문자열이 없으면 string::npos를 리턴한다.)
'알고리즘 > 멤고리즘' 카테고리의 다른 글
멤고리즘 2회 3번. 산삼 찾기(DP) (0) | 2014.04.22 |
---|---|
멤고리즘 2회 2번. 이진회귀수 (0) | 2014.04.22 |
멤고리즘 2회 1번. 거꾸로 말해요 (0) | 2014.04.22 |
멤고리즘 1회 3번. 복붙기능 키보드 (0) | 2014.04.22 |
멤고리즘 1회 2번. MemberNumber (0) | 2014.04.22 |