https://www.acmicpc.net/problem/3059
3059번: 등장하지 않는 문자의 합
입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성되어 있고, 문자열 S가 주어진다. S는 알파벳
www.acmicpc.net
문제
알파벳 대문자로 구성되어있는 문자열 S가 주어졌을 때, S에 등장하지 않는 알파벳 대문자의 아스키 코드 값의 합을 구하는 프로그램을 작성하시오.
문자열 S가 “ABCDEFGHIJKLMNOPQRSTUVW” 일 때, S에 등장하지 않는 알파벳 대문자는 X, Y, Z이다. X의 아스키 코드 값은 88, Y는 89, Z는 90이므로 이 아스키 코드 값의 합은 267이다.
알파벳 대문자의 아스키 코드 값은 다음과 같다.
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 |
입력
입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성되어 있고, 문자열 S가 주어진다. S는 알파벳 대문자로만 구성되어 있고, 최대 1000글자이다.
출력
각 테스트 데이터에 대해, 입력으로 주어진 문자열 S에 등장하지 않는 알파벳 대문자의 아스키 코드 값의 합을 한 줄에 하나씩 출력한다.
예제 입력 1
2
ABCDEFGHIJKLMNOPQRSTUVW
A
예제 출력 1
267
1950
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
using namespace std;
#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
#include <vector>
#include <stack>
#include <queue>
#include <deque>
#include <functional>
#include <cmath>
#include <map>
#include <set>
#define _CRT_SECURE_NO_WARNINGS
#define INF 987654321
#define ll long long
typedef pair<int, int> PII;
int main() {
int t;
cin >> t;
while (t--) {
int sum = 0;
int check[26] = { 0, };
string s;
cin >> s;
for (int i = 0; i < s.size(); i++) {
check[s[i] - 'A'] = 1;
}
for (int i = 0; i < 26; i++) {
if (check[i] != 1) {
sum += i + 65;
}
}
cout << sum << "\n";
}
return 0;
}
|
cs |
728x90
반응형
'🔻PS > Baekjoon' 카테고리의 다른 글
[Baekjoon] 백준 15781 헬멧과 조끼 C++ (1) | 2022.09.16 |
---|---|
[Baekjoon] 백준 5176 대회 자리 C++ (0) | 2022.09.15 |
[Baekjoon] 백준 4493 가위 바위 보? C++ (0) | 2022.09.12 |
[Baekjoon] 백준 10409 서버 C++ (0) | 2022.09.11 |
[Baekjoon] 백준 17614 369 C++ (0) | 2022.09.10 |