Algorithm, Problem Solving/codeforces

[codeforces][Kotlin] 1367B - Even Array

태오님 2023. 3. 30.

목차

    문제 정보

     

    난이도 : B

    유형 : implementation

    시간 : O(t * N)

     


    문제 풀이

    현재 인덱스와 입력값이 서로 짝수 혹은 홀수가 아닐 경우에만

    입력값이 홀수인지 짝수인지 카운팅 해주면 된다.


    코드

    import java.io.BufferedReader
    import java.io.InputStreamReader
    import java.util.StringTokenizer
    
    fun solution() = with(BufferedReader(InputStreamReader(System.`in`))) {
        var sb = StringBuilder()
        var st: StringTokenizer
    
        var t = readLine().toInt()
        while (t-- > 0) {
            var n = readLine().toInt()
            var odd = 0
            var even = 0
    
            st = StringTokenizer(readLine())
            for (i in 0 until n) {
                var cur = st.nextToken().toInt()
                if (i % 2 != cur % 2) {
                    if (cur % 2 == 0) even++
                    else {
                        odd++
                    }
                }
            }
    
            if (even != odd) {
                sb.append(-1)
            } else {
                sb.append(even)
            }
            sb.append('\n')
        }
    
        print(sb)
    }
    
    fun main() {
        solution()
    }

    댓글