(백준/Kotlin) 2667번 : 단지번호붙이기

2021. 11. 22. 11:49·CodingTest

난이도: Silver 1

프로그래밍 언어: Kotlin

문제명: 단지번호붙이기

푼일자: 2021년 11월

 

주소: https://www.acmicpc.net/problem/2667

 

문제풀기

이게 실버 1 문제라고..? 하면서 너무 쉽게 풀어버린 문제였습니다.

dfs 를 이용하였습니다.

 

package kr.kua.baekjoon

val dirs = arrayOf(intArrayOf(-1, 0), intArrayOf(1, 0), intArrayOf(0, 1), intArrayOf(0, -1))
var m = 0
var n = 0
var t = 0
fun main() = with(System.`in`.bufferedReader()) { // 단지번호붙이기
    m = readLine().toInt()
    n = m
    val grid: Array<CharArray> = Array(m) { CharArray(n) }
    repeat(m) { grid[it] = readLine().toCharArray() }
    val list = mutableListOf<Int>()
    for (i in 0 until m) {
        for (j in 0 until n) {
            if (grid[i][j] == '1') {
                t = 0
                dfs(grid, i, j)
                list.add(t)
            }
        }
    }

    println(list.count())
    list.sorted().forEach { println(it) }
}

fun dfs(grid: Array<CharArray>, i: Int, j: Int) {
    if (i < 0 || i >= m || j < 0 || j >= n || grid[i][j] != '1') return
    t++
    grid[i][j] = 'X'
    for (dir in dirs) dfs(grid, i + dir[0], j + dir[1])
}

 

반응형
저작자표시 비영리 (새창열림)
'CodingTest' 카테고리의 다른 글
  • (백준/Kotlin) 1159번 : 농구 경기
  • (백준/Kotlin) 5430번 : AC
  • (백준/Kotlin) 5635번 : 생일
  • (백준/Kotlin) 11650번 : 좌표 정렬하기
Kua
Kua
정보 공유, 개인 정리 공간 입니다.
  • Kua
    Kua's Miscellaneous
    Kua
    • 분류 전체보기 (185)
      • 대문 (2)
      • Tips (25)
        • Chrome (2)
        • Windows (4)
        • IDE (3)
        • 기타 (16)
      • CodingTest (44)
      • Language (20)
        • PHP (5)
        • C# (7)
        • Java (1)
        • Kotlin (7)
      • Framework & Runtime (16)
        • SpringBoot (12)
        • Node.js (2)
        • Vue.js (1)
        • Gradle (1)
      • DevOps (13)
        • Linux (1)
        • Docker (4)
        • Kubernetes (2)
        • Apache Kafka (1)
        • AWS (1)
      • 일상다반사 (53)
        • 도서 (1)
        • 개발 (8)
        • 후기 - IT (7)
        • 후기 - 일상 (13)
        • 차가리 (4)
        • 방송통신대학교 (4)
        • 음식 (2)
      • Games (12)
        • Minecraft (7)
        • VR (2)
        • 그외 (3)
  • 최근 글

  • 인기 글

  • 태그

    Spring Boot
    갤럭시
    spring
    Silver5
    github
    error
    백준
    bronze1
    c#
    Windows
    Kotlin
    java
    알고리즘
    Plugin
    Algorithm
    코딩테스트
    codingtest
    후기
    minecraft
    bronze2
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.0
Kua
(백준/Kotlin) 2667번 : 단지번호붙이기
상단으로

티스토리툴바