• Home
  • About
    • Moon photo

      Moon

      개발자는 자고 싶다.

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • Posts
    • All Posts
    • All Tags
  • Projects

백준 - 1316 그룹 단어 체커

06 Jun 2022

Reading time ~1 minute

문제

1316 그룹 단어 체커

screencapture

답

kotlin code: 첫 번째 방법

fun main() {
    q1316()
}

fun q1316() {
    val inputList = List(readln().toInt()) { readln() }
    var groupWordCount = 0
    for(input in inputList) {
        if(input.length == input.toSet().size) {
            groupWordCount++
            continue
        }
        val wordList = input.groupingBy { it }.eachCount().filter { it.value > 1 }.map { it.key.toString().repeat(it.value) }
        var isGroupWord = true
        for(word in wordList) {
            if(!input.contains(word)) {
                isGroupWord = false
                break
            }
        }
        if(isGroupWord) groupWordCount++
    }
    println(groupWordCount)
}

kotlin code: 두 번째 방법

fun main() {
    q1316_2()
}

fun q1316_2() {
    val inputList = List(readln().toInt()) { readln() }
    var groupWordCount = 0
    for(input in inputList) {
        if(input.length == input.toSet().size) {
            groupWordCount++
            continue
        }

        var isGroupWord = true
        val set = HashSet<Char>()
        var preChar = ' '
        for(ch in input) {
            if(set.contains(ch) && preChar != ch) {
                isGroupWord = false
            }
            set.add(ch)
            preChar = ch
        }
        if(isGroupWord) groupWordCount++
    }
    println(groupWordCount)
}


baekjoonkotlin코틀린백준실버구현문자열 Share Tweet +1