Computer Science/Algorithm Problem

백준] 3059 - 등장하지 않는 문자의 합

TwinParadox 2018. 1. 31. 22:13
728x90

시간 제한 : 1초

메모리 제한 : 128MB




입력

입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성되어 있고, 문자열 S가 주어진다. S는 알파벳 대문자로만 구성되어 있고, 최대 1000글자이다.




출력

각 테스트 데이터에 대해, 입력으로 주어진 문자열 S에 등장하지 않는 알파벳 대문자의 아스키 코드 값의 합을 한 줄에 하나씩 출력한다.




소스코드

#include <iostream>
#include <string>
using namespace std;
int main(void)
{
	int t, sum, len;
	cin >> t;
	while (t--)
	{
		string s;
		bool check[26] = { false, };
		cin >> s;
		
		sum = 0, len = s.length();
		for (int i = 0; i < len; i++)
			check[(char)s[i] - 'A'] = true;
		for (int i = 0; i < 26; i++)
			if (!check[i])
				sum += (i + 65);
		cout << sum << '\n';
	}
}




Tip

아스키 코드와 배열을 바탕으로 하는 대표적인 문자열 처리 문제다.

728x90