백준 4889번 안정적인 문자열 Kotlin

: ) YOUNG·2025년 2월 9일
1

알고리즘

목록 보기
448/458
post-thumbnail

백준 4889번 안정적인 문자열 Kotlin

https://www.acmicpc.net/problem/4889

문제



생각하기


  • 문자열

  • 자료구조



동작





결과


코드



import java.io.File

// input
private var br = System.`in`.bufferedReader()

// variables
private var str = ""
private lateinit var sb: StringBuilder

fun main() {
    val bw = System.out.bufferedWriter()
    sb = StringBuilder()

    var case = 1
    while (true) {
        str = br.readLine()
        if (str.contains('-')) break;
        sb.append(case++).append(". ")
        solve()
    }

    bw.write(sb.toString())
    bw.close()
} // End of main()

private fun solve() {

    str = str.replace("{}", "")
    var openCount = 0
    var ans = 0

    for (ch in str) {
        if (ch == '{') {
            openCount++
        } else if (ch == '}') {
            if (openCount > 0) {
                openCount--
            } else {
                ans++
                openCount++
            }
        }
    }

    ans += openCount / 2
    sb.append(ans).append('\n')
} // End of solve()

0개의 댓글

관련 채용 정보