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
'Computer Science > Algorithm Problem' 카테고리의 다른 글
백준] 7785 - 회사에 있는 사람(KBTU) (0) | 2018.02.03 |
---|---|
백준] 11637 - 인기 투표(ACM-ICPC Regional) (0) | 2018.02.03 |
백준] 9324 - 진짜 메시지(ACM-ICPC Regional) (0) | 2018.01.31 |
백준] 2875 - 대회 or 인턴(COCI 2010/2011) (0) | 2018.01.30 |
백준] 3035 - 스캐너(COCI 2006/2007) (0) | 2018.01.30 |