Uknow's Lab.
article thumbnail

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

 

1388번: 바닥 장식

형택이는 건축가이다. 지금 막 형택이는 형택이의 남자 친구 기훈이의 집을 막 완성시켰다. 형택이는 기훈이 방의 바닥 장식을 디자인했고, 이제 몇 개의 나무 판자가 필요한지 궁금해졌다. 나

www.acmicpc.net

 

난이도 : 실버 4
태그 : 구현, 그래프 이론, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색

 

 

설명

문제 태그의 그래프 탐색과는 별개로,

그냥 타일의 개수가 몇개인지 다 카운팅해서 풀 수도 있습니다.

 

 

 

소스코드

fun main() {
    val line = readLine()!!.split(" ")
    val height = line[0].toInt()
    val width = line[1].toInt()

    val arr = Array(height) { Array(width) { ' ' } }

    for (i in 0 until height) {
        val tempLine = readLine()!!
        for (j in 0 until width) {
            arr[i][j] = tempLine[j]
        }
    }

    var result = 0

    for (i in arr.indices) {
        var check = 0

        var idx = 0
        while (idx < arr[0].size) {
            if (arr[i][idx] == '|' && check != 0) {
                check = 0
                result++
            } else if (arr[i][idx] == '|' ) {
                check = 0
            } else {
                check++
            }
            idx++
        }
        if (arr[i][--idx] == '-') result++
    }

    for (i in 0 until arr[0].size) {
        var check = 0

        var idx = 0
        while (idx < arr.size) {
            if (arr[idx][i] == '-' && check != 0) {
                check = 0
                result++
            } else if (arr[idx][i] == '-') {
                check = 0
            } else {
                check++
            }
            idx++
        }
        if (arr[--idx][i] == '|') result++
    }

    println(result)
}

 

 

 

 

후기

예전에 풀었던 코드를 조금씩 블로그에 올리고 있는데,

1년전에 푼 코드를 보니 꽤 반갑네요

 

profile

Uknow's Lab.

@유노 Uknow

인생은 Byte와 Double 사이 Char다. 아무말이나 해봤습니다.