알파벳 대문자로 구성되어있는 문자열 S가 주어졌을 때, S에 등장하지 않는 알파벳 대문자의 아스키 코드 값의 합을 구하는 프로그램을 작성하시오.
문자열 S가 “ABCDEFGHIJKLMNOPQRSTUVW” 일 때, S에 등장하지 않는 알파벳 대문자는 X, Y, Z이다. X의 아스키 코드 값은 88, Y는 89, Z는 90이므로 이 아스키 코드 값의 합은 267이다.
알파벳 대문자의 아스키 코드 값은 다음과 같다.
입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성되어 있고, 문자열 S가 주어진다. S는 알파벳 대문자로만 구성되어 있고, 최대 1000글자이다.
각 테스트 데이터에 대해, 입력으로 주어진 문자열 S에 등장하지 않는 알파벳 대문자의 아스키 코드 값의 합을 한 줄에 하나씩 출력한다.
입력 1
2
ABCDEFGHIJKLMNOPQRSTUVW
A
출력 1
267
1950
# 입력받은 문자열과 비교하기 위한 알파벳 튜플(자료형을 사용하기 위함)
alphabet = {'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'}
# 입력 데이터 수
T = int(input())
# 입력 데이터 수만큼 반복
for _ in range(T):
s = set(input()) # 입력받은 문자열 set으로 튜플 만들기
a = alphabet-s # 차집합 구하기
sum = 0 # 아스키 코드 값의 합 구하기 위한 sum 초기화
for i in a:
# 등장하지 않는 알파벳의 아스키 코드 값 더하기
sum += ord(i)
print(sum) # 출력
차집합 등의 자료형을 활용하기 위해서는 튜플을 사용해야합니다.
[백준/Python] 11656 : 접미사 배열 (0) | 2021.05.29 |
---|---|
[백준/Python] 5363 : 요다 (0) | 2021.05.26 |
[백준/Python] 2495 : 연속구간 (0) | 2021.05.24 |
[백준/Python] 1919 : 애너그램 만들기 (0) | 2021.05.23 |
[백준/Python] 1267 : 핸드폰 요금 (0) | 2021.05.22 |
댓글 영역