치춘짱베리굿나이스

[백준] 15719 본문

C C++/알고리즘풀이

[백준] 15719

치춘 2023. 8. 31. 23:15

중복된 숫자

문제

1부터 N - 1까지의 정수가 하나씩 정렬되지 않은 채로 저장되어 있는 어떤 수열 A가 있다. 수열 A에 임의의 정수 M(1 ≤ M ≤ N – 1)을 넣어 크기가 N인 수열로 만들었을 때, 임의의 정수 M을 찾는 프로그램을 작성하라.

입력

첫째 줄에 수열의 크기 N(2 ≤ N ≤ 10,000,000)이 주어진다.

둘째 줄에 수열 A의 원소인 N개의 정수가 주어진다. 입력으로 주어지는 정수는 모두 1보다 크거나 같고, N-1보다 작거나 같은 정수이며 문제의 답인 M을 제외하고는 모두 서로 다른 정수이다.

출력

M을 출력하라.

풀이

#include <iostream>

bool arr[10000001];

int main(void) {
    int n, temp;

    std::ios_base::sync_with_stdio(false);
    std::cin.tie(0);
    std::cout.tie(0);

    std::cin >> n;
    for (int i = 0; i < n; i++) {
        std::cin >> temp;
        if (arr[temp]) {
            std::cout << temp;
            return 0;
        }
        arr[temp] = true;
    }
    std::cout << -1;
}

'C C++ > 알고리즘풀이' 카테고리의 다른 글

[백준] 1107  (0) 2023.09.02
[백준] 24039  (0) 2023.09.01
[백준] 1446  (0) 2023.08.31
[백준] 18352  (0) 2023.08.30
[백준] 2225  (0) 2023.08.27
Comments