개발/알고리즘

백준 4659번 비밀번호 발음하기 C++

daisy-day 2021. 1. 12. 23:55

문제

www.acmicpc.net/problem/4659

 

4659번: 비밀번호 발음하기

좋은 패스워드를 만드는것은 어려운 일이다. 대부분의 사용자들은 buddy처럼 발음하기 좋고 기억하기 쉬운 패스워드를 원하나, 이런 패스워드들은 보안의 문제가 발생한다. 어떤 사이트들은 xvtp

www.acmicpc.net

코드

#include<bits/stdc++.h>

using namespace std;
string s;

bool isVowels(char c)
{
	if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')
		return true;

	return false;
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	
	while (1)
	{
		bool v = false;
		bool isGood = true;

		cin >> s;
		if (s == "end")
			return 0;

		for (int i = 0; i < s.size(); i++)
		{
			if (i < s.size() - 2 && isVowels(s[i]) && isVowels(s[i + 1]) && isVowels(s[i + 2]))
			{
				isGood = false;
				break;
			}

			if (i < s.size() - 2 && isVowels(s[i]) == false && isVowels(s[i + 1]) == false && isVowels(s[i + 2]) == false)
			{
				isGood = false;
				break;
			}

			if (i < s.size() - 2 && s[i] == s[i + 1] && s[i] == s[i + 2])
			{
				isGood = false;
				break;
			}

			if (i < s.size()-1 && s[i] == s[i + 1] && s[i] != 'e' && s[i] != 'o')
			{
				isGood = false;
				break;
			}

			if (isVowels(s[i]))
			{
				v = true;
			}

			isGood = true;
		}

		if (isGood && v)
		{
			cout << "<" << s << "> " << "is acceptable." << "\n";
		}
		else
		{
			cout << "<" << s << "> " << "is not acceptable." << "\n";
		}

	}

	return 0;
}

 

걸린 시간

1시간

 

이게 1시간이나 걸릴 문제인가?

이렇게밖에 못푸는 문제인가 ?ㅠㅠ