문제

https://codeforces.com/problemset/problem/25/A

풀이

n 개의 원소를 가진 수열이 입력으로 들어오고 입력으로 들어온 숫자 중 홀/짝이 다른 하나의 숫자의 인덱스(1-base 인덱스)를 출력하면 된다.

수열이 들어올 때마다 홀/짝 각각의 마지막 인덱스를 저장하고, 홀수의 개수, 짝수의 개수를 세면된다.

마지막 이렇게 얻어진 개수로 홀/짝인지 판별을 한 뒤에, 홀수면 짝수의, 짝수면 홀수의 마지막 인덱스를 출력하면 된다.

코드

#include <iostream>

int main() {
    int n;
    std::cin >> n;
    int oddCount = 0;
    int evenCount = 0;
    int oddIndex = 0;
    int evenIndex = 0;
    for (int i = 1; i <= n; ++i) {
        int number;
        std::cin >> number;
        if (number % 2 == 0) {
            evenCount++;
            evenIndex = i;
        } else {
            oddCount++;
            oddIndex = i;
        }
    }
    std::cout << (oddCount == 1 ? oddIndex : evenIndex) << std::endl;
}