문자열 S가 있다고 가정합니다. Amal과 Bimal이 게임을 하고 있습니다. 게임의 규칙은 다음과 같습니다. 처음 플레이하는 사람, 즉 Amal은 형사입니다. 그는 "범죄"를 조사하고 원인을 찾아야 합니다. 그는 대답이 "예" 또는 "아니오"인 모든 질문을 할 수 있습니다. 질문의 마지막 글자가 모음이면 "예", 그렇지 않으면 "아니오"라고 대답합니다. 여기 모음이 있습니다:A, E, I, O, U, Y. 우리는 S를 질문으로 가지고 있고 우리는 답을 찾아야 합니다.
따라서 입력이 S ="대학에 있습니까?"와 같으면 출력은 예가 됩니다.
단계
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
s := "AEIOUYaeiouy" for initialize i := 0, when i < size of S, update (increase i by 1), do: t := S[i] if t is alphabetic, then: ans := t if ans is in s, then: return "YES" Otherwise return "NO"
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
#include <bits/stdc++.h> using namespace std; string solve(string S){ string s = "AEIOUYaeiouy"; char ans; for (int i = 0; i < S.size(); i++){ char t = S[i]; if (isalpha(t)) ans = t; } if (s.find(ans) != -1) return "YES"; else return "NO"; } int main(){ string S = "Is it in university?"; cout << solve(S) << endl; }
입력
"Is it in university?"
출력
YES