3059번: 등장하지 않는 문자의 합백준/문제2024. 1. 12. 16:15
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/3059
언어 : Kotlin
문제 설명 :
알파벳 대문자로 구성되어있는 문자열 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 |
65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 |
U | V | W | X | Y | Z | ||||||||||||||
85 | 86 | 87 | 88 | 89 | 90 |
입력 :
입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성되어 있고, 문자열 S가 주어진다. S는 알파벳 대문자로만 구성되어 있고, 최대 1000글자이다.
출력 :
각 테스트 데이터에 대해, 입력으로 주어진 문자열 S에 등장하지 않는 알파벳 대문자의 아스키 코드 값의 합을 한 줄에 하나씩 출력한다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 128MB
입출력 예 :
입력 | 출력 |
2 ABCDEFGHIJKLMNOPQRSTUVW A |
267 1950 |
풀이 :
import java.io.BufferedWriter
import java.io.OutputStreamWriter
fun main() = with(System.`in`.bufferedReader()) {
val bw = BufferedWriter(OutputStreamWriter(System.out))
val t = readLine().toInt()
val max = (65 .. 90).sum()
repeat(t) {
val sum = readLine().toList().distinct().sumOf { it.code }
bw.appendLine("${max - sum}")
}
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
2495번: 연속구간 (0) | 2024.01.16 |
---|---|
12605번: 단어순서 뒤집기 (0) | 2024.01.15 |
11283번: 한글 2 (0) | 2024.01.12 |
2437번: 저울 (0) | 2024.01.11 |
2075번: N번째 큰 수 (0) | 2024.01.11 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!