Computer Science/Algorithm Problem

백준] 5704 - 팬그램(ACM-ICPC Regionals)

TwinParadox 2018. 8. 19. 13:05
728x90

시간 제한 : 1초

메모리 제한 : 128MB




입력

입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 많아야 200글자로 이루어져 있는 문장이다. 단어는 공백 하나로 구분되어 있다. 또, 단어는 알파벳 소문자로만 이루어져 있다. 입력의 마지막 줄에는 별표(*)가 하나 주어진다.




출력

각 테스트 케이스에 대해서, 입력으로 주어진 문장이 팬그램이라면 'Y', 아니라면 'N'를 출력한다.




소스코드

#include <iostream>
#include <string>
using namespace std;
int main(void)
{
	while (1)
	{
		string str;
		getline(cin, str);
		if (str == "*")
			break;

		int arr[26] = { 0, }, len;
		len = str.length();
		for (int i = 0; i < len; i++)
		{
			if (str[i] == ' ')
				continue;
			else
				arr[(int)((char)str[i] - 'a')]++;
		}

		bool check = false;
		for (int i = 0; i < 26 && check==false; i++)
			if (arr[i] == 0)
				check = true;

		if (check)
			cout << "N\n";
		else
			cout << "Y\n";
	}
}




Tip

난이도가 쉬운 문자열 처리 문제로, 아스키코드를 이용해 풀면 된다.



728x90