Algorithm, Problem Solving/codeforces
[Codeforces][Kotlin] 32B - Borze
태오님
2023. 3. 21. 12:25
https://codeforces.com/problemset/problem/32/B
Problem - 32B - Codeforces
codeforces.com
난이도 : B
유형 : 문자열
문제 풀이
while loop문을 이용하여 문자열을 앞에서 탐색하면서 '.'이면 0 출력 혹은
'.'이 아니면 현재위치와 다음위치의 문자열이 '-.', '--'인지 판별하여 1, 2 출력 -> 인덱스 2칸 증가
import java.io.BufferedReader
import java.io.InputStreamReader
var input: String = ""
var res: String = ""
fun solution() = with(BufferedReader(InputStreamReader(System.`in`))) {
var sb = StringBuilder()
input = readLine()
var idx = 0
while (idx < input.length) {
if (input[idx] == '.') {
sb.append(0)
idx++
} else if (idx + 1 < input.length && input[idx + 1] == '.') {
sb.append(1)
idx += 2
} else if (idx + 1 < input.length && input[idx + 1] == '-') {
sb.append(2)
idx += 2
}
}
println(sb)
}
fun main() {
solution()
}