CodingTest/Baekjoon
[baekjoon] 백준 12933번(코틀린): 오리
JunJangE
2022. 8. 27. 11:39
문제
12933번: 오리
첫째 줄에 영선이가 녹음한 소리가 주어진다. 소리의 길이는 5보다 크거나 같고, 2500보다 작거나 같은 자연수이고, 'q','u','a','c','k'로만 이루어져 있다.
www.acmicpc.net
알고리즘
- 반복문을 통해 오리의 울음소리를 확인한다.
- 확인은 그 울음의 탐색 유무에 따라 진행한다.
- 울음소리가 quack이고 탐색하지 않았다면 카운트한다.
코드
package beakjoon.implementation
import java.io.BufferedReader
import java.io.InputStreamReader
fun main(){
val br = BufferedReader(InputStreamReader(System.`in`))
val duck = br.readLine()!!.toList()
val size = duck.size
val visited = Array(duck.size){false}
val quack = "quack".toList()
var cnt = 0
if (size % 5 != 0){
println(-1)
}else{
for (i in 0 until size){
if (duck[i] == 'q' && !visited[i]){
var k = 0
var check = true
for (j in i until size){
if (duck[j] == quack[k] && !visited[j]){
visited[j] = true
if (duck[j] == 'k'){
if (check){
check = false
cnt++
}
k = 0
continue
}
k++
}
}
}
}
if (!visited.all { it } || cnt == 0){
println(-1)
}else{
println(cnt)
}
}
}
github
GitHub - junjange/KotlinAlgorithm: 내가 푼 코딩 테스트 문제와 해결법(Kotlin)
내가 푼 코딩 테스트 문제와 해결법(Kotlin). Contribute to junjange/KotlinAlgorithm development by creating an account on GitHub.
github.com