[BOJ 골드4] 준표의 조약돌 Kotlin

JIHOON·2022년 6월 4일
0

문제

풀이, 코드

  • Two Pointer
fun main()  = with(System.`in`.bufferedReader()) {
    var (n,b,w) = readLine().split(" ").map{it.toInt()}
    val str = readLine().toCharArray()
    var i=0
    var j=0
    var curB = 0
    var curW = 0
    var maxLen = 0
    while(j<n){
        if(curB>b){
            when(str[i]){
                'W' -> curW--
                'B' -> curB--
            }
            i++
        }
        else{
            when(str[j]){
                'W' -> curW++
                'B' -> curB++
            }
            j++
        }
        if(curB<=b&&curW>=w){
            maxLen = Math.max(maxLen,j-i)
        }
    }
    println(maxLen)
}
profile
https://github.com/Userz1-redd

0개의 댓글