privatevar N: Int = 0 privatevar input = mutableListOf<String>()
funmain() { input() solve() }
privatefuninput() = with(Scanner(System.`in`)) { N = nextInt() for (i in0 until N) { input.add(i , next()) } }
privatefunsolve() { input.forEach { val word = it valset = mutableSetOf<Char>() var last = Character.MIN_VALUE var flag = true word.forEach { target -> if (last != target) { last = target if (!set.add(target)) { flag = false } } } if (!flag) { N-- } } println(N) }
Point of Thinking
입력받은 문자열을 순차적으로 순회한다.
순회 도중 이전의 문자와 다른 문자일 경우 set자료구조를 이용해 중복 체크를 수행하여 그룹 단어 체크 여부를 판정한다.