[백준] 등장하지 않는 문자의 합 (3059)(kotlin)
문제 설명
입력 및 출력
» 입력
입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성되어 있고, 문자열 S가 주어진다. S는 알파벳 대문자로만 구성되어 있고, 최대 1000글자이다.
» 출력
각 테스트 데이터에 대해, 입력으로 주어진 문자열 S에 등장하지 않는 알파벳 대문자의 아스키 코드 값의 합을 한 줄에 하나씩 출력한다.
예제 입출력(테스트케이스)
입력 | 출력 |
---|---|
2 ABCDEFGHIJKLMNOPQRSTUVW A |
267 1950 |
문제 풀이1
fun main(args: Array<String>) = with(System.`in`.bufferedReader()) {
repeat(readLine().toInt()) {
val str = readLine()
var check = BooleanArray(26) { false }
str.forEach {
check[it - 'A'] = true
}
println(
check.foldIndexed(0) { idx, total, next ->
if (!next) total + 65 + idx
else total
}
)
}
}