10820번: 문자열 분석백준/문제2023. 9. 12. 13:49
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/10820
언어 : Kotlin
문제 설명 :
문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오.
각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다.
- 첫째 줄부터 N번째 줄까지 문자열이 주어진다. (1 ≤ N ≤ 100) 문자열의 길이는 100을 넘지 않는다.
- 첫째 줄부터 N번째 줄까지 각각의 문자열에 대해서 소문자, 대문자, 숫자, 공백의 개수를 공백으로 구분해 출력한다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 256MB
입출력 예 :
입력 | 출력 |
This is String SPACE 1 SPACE S a M p L e I n P u T 0L1A2S3T4L5I6N7E8 |
10 2 0 2 0 10 1 8 5 6 0 16 0 8 9 0 |
풀이 :
import java.io.BufferedWriter
import java.io.OutputStreamWriter
fun main() = with(System.`in`.bufferedReader()) {
val bw = BufferedWriter(OutputStreamWriter(System.out))
var line: String
var str = arrayOf<String>()
val sb = StringBuilder()
try {
while (readLine().also { line = it } != null) {
val tokens = line
if (tokens != "") str += tokens else break
}
} catch (_: Exception) {}
for (i in str) {
val arr = IntArray(4) { 0 }
for (j in i) {
if (j.isLowerCase()) arr[0]++
if (j.isUpperCase()) arr[1]++
if (j.isDigit()) arr[2]++
if (j.isWhitespace()) arr[3]++
}
sb.appendLine(arr.joinToString(" "))
}
bw.write(sb.toString())
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
17298번: 오큰수 (0) | 2023.09.14 |
---|---|
1302번: 베스트셀러 (0) | 2023.09.13 |
1912번: 연속합 (0) | 2023.09.11 |
2960번: 에라토스테네스의 체 (0) | 2023.09.08 |
1212번: 8진수 2진수 (0) | 2023.09.08 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!