반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

코딩하기 좋은날

백준 10815 숫자카드 본문

백준(Baekjoon) 문제

백준 10815 숫자카드

huiung 2019. 2. 24. 21:55
반응형

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

문제와 채점은 위 사이트에서 확인 하실 수 있습니다

 

숫자카드를 배열에 입력받고 각카드가 들어 있는지 확인 한뒤 1 / 0을 출력하는 문제입니다.

 

그냥 배열의 앞부터 끝까지 출력하는 문제는 시간이 많이 소요되므로 배열을 정렬한뒤 이분탐색을 이용하는 문제입니다.

 

다음은 코드입니다.

 

#include <iostream>
#include <algorithm>

using namespace std;

int main(void) {
	ios_base::sync_with_stdio(false); cin.tie(NULL);
	int N,M;
	cin >> N;
	int arr[N];
	for(int i = 0; i < N; i++)
		cin >> arr[i];
	
	sort(arr, arr+N);
	cin >> M; 
	for(int i = 0; i < M; i++) {
		int start = 0;
		int end = N-1;
		int mid;
		bool flag = true;
		int x;
		cin >> x;
		while(start <= end) {
			mid = (start + end) / 2;
			
			if(arr[mid] == x) {
				flag = false;
				break;
			}
			else if(arr[mid] < x) {
				start = mid + 1;
			}
			else if(arr[mid] > x) {
				end = mid - 1;
			}
		}
		if(flag)
			cout<<0<<' ';
		else
			cout<<1<<' ';
	}
	return 0;
}

 

반응형

'백준(Baekjoon) 문제' 카테고리의 다른 글

백준 1005 ACM Craft  (0) 2019.02.27
백준 1300 K번째 수  (2) 2019.02.26
백준 1920 수 찾기  (0) 2019.02.24
백준 1654 랜선 자르기  (0) 2019.02.24
백준 2579 계단 오르기  (0) 2019.02.22