본문 바로가기
PS 문제 풀이/Baekjoon

[BOJ] 백준 10815 숫자 카드

by 까망 하르방 2021. 2. 25.
반응형

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

Binary Search (이분 탐색) 

 

Binary Search (이분 탐색)

Binary Search (이분 탐색) 정렬된 자료에서 목표값을 찾고자 할 때, 사용되는 탐색기법 O(logN) 리스트 중간의 값(mid)을 선택하여 찾고자 하는 값과 비교하는 방식 분할 정복 알고리즘(Divide and Conquer Al

zoosso.tistory.com

① 입력받은 N개의 숫자카드를 오름차순으로 정렬합니다.

② 정렬된 원소에서 이분탐색으로 존재 여부 판단.


#include <stdio.h>
#include <algorithm>
using namespace std;
int card[500001];
bool binarySerch(int left, int right, int target){
    int mid = (left + right) / 2;
    if (left > right)
        return false;
    
    if (card[mid] > target)
        return binarySerch(left, mid - 1, target);
    else if (card[mid] < target)
        return binarySerch(mid + 1, right, target);
    else
        return true;
}
int main(void){
    int N, M, target;
 
 
    scanf("%d", &N);
    for (int i = 0; i < N; i++)
        scanf("%d", &card[i]);
    sort(card, card + N);
 
 
    scanf("%d", &M);
    for (int i = 0; i < M; i++){
        scanf("%d", &target);
        if (binarySerch(0, N-1, target)) printf("1 ");
        else printf("0 ");
    }
}

 

반응형

'PS 문제 풀이 > Baekjoon' 카테고리의 다른 글

[BOJ] 백준 2822 점수 계산  (0) 2021.02.25
[BOJ] 백준 14225 부분수열의 합  (0) 2021.02.25
[BOJ] 백준 1158 요세푸스 문제  (0) 2021.02.25
[BOJ] 백준 2458 키 순서  (0) 2021.02.25
[BOJ] 백준 1406 에디터  (0) 2021.02.25

댓글