본문 바로가기

메모장/백준 온라인 저지(BOJ)

백준 15719번 - 중복된 숫자

 

https://www.acmicpc.net/problem/15719
 

15719번: 중복된 숫자

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

www.acmicpc.net

 

 

 

 문제

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을 출력하라.

 예제 입력

10
1 2 2 5 6 4 3 7 8 9

 예제 출력

2

 

 

Solution


C++

#include <iostream>
using namespace std;

int temp[312500] = { 0 };

int main() {
  cin.tie(NULL); cout.tie(NULL);
	ios::sync_with_stdio(false);

  int N, A;

  cin >> N;
  for (int i = 0; i < N; i++) {
    cin >> A;
    if (temp[A >> 5] & (1 << (A & 31))) {
      cout << A;
      return 0;
    }
    temp[A >> 5] |= 1 << (A & 31);
  }

  return 0;
}

 

'메모장 > 백준 온라인 저지(BOJ)' 카테고리의 다른 글

백준 8595번 - 히든 넘버  (0) 2021.09.02
백준 3448번 - 문자 인식  (0) 2021.09.02
백준 10093번 - 숫자  (0) 2021.09.02
백준 1009번 - 분산처리  (0) 2021.09.01
백준 1837번 - 암호제작  (0) 2021.09.01