티스토리 뷰
728x90
10815번: 숫자 카드
첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,
www.acmicpc.net
C++ 이분탐색
쉬운 이분탐색 응용없이 그냥 이분탐색만 하면 되는 문제
이건..실버4이기엔 쉬운 문제인 것 같다.
접근방법
상근이가 갖고 있는 숫자카드는 배열로 받아서 정렬해주고
주어지는 정수 M은 바로 받아서 이분탐색하는 것 끝
오답노트
내가 코드를 잘 못짜서 그런건지는 모르겠지만 일단 기본 코드는 시간초과 났었고
sync_with_stdio 해주고 cin tie해주니까 통과됐다.
소스코드
#include <iostream>
#include <algorithm>
using namespace std;
int sg[500000];
int n;
int isinsg(int num){
int s = 0;
int e = n-1;
int mid;
while(s <= e){
mid = (s+e)/2;
if(sg[mid] == num){
return 1;
}else if(sg[mid] > num){
e = mid-1;
}else{
s = mid+1;
}
}
return 0;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin >> n;
for(int i = 0 ; i < n ; i++){
cin >> sg[i];
}
sort(sg, sg+n);
int m, num;
cin >> m;
for(int i = 0 ; i < m ; i++){
cin >> num;
cout << isinsg(num) << " ";
}
return 0;
}
728x90
'알고리즘 문제풀이' 카테고리의 다른 글
[백준 2512] 알고리즘 61일차 : 예산 (0) | 2021.01.08 |
---|---|
[백준 1764] 알고리즘 60일차 : 듣보잡 (0) | 2021.01.07 |
[백준 2110] 알고리즘 58일차 : 공유기 설치 (0) | 2021.01.05 |
[백준 1934]알고리즘 57일차 : 최소공배수 (0) | 2021.01.04 |
[백준 2805] 알고리즘 56일차 : 나무 자르기 (0) | 2020.12.30 |
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 그리디알고리즘
- 웹크롤링
- 이분탐색
- dfs
- 최단경로
- 파이썬
- 백트래킹
- 정렬
- 최소힙
- 브루트포스
- 자바
- 백준
- 수학
- BFS
- 토마토
- 최대힙
- 투포인터
- 가장 큰 수 Swift
- 알고리즘
- 게임이론
- 스택
- Swift
- 동적계획법
- 우선순위큐
- dp
- c++
- 트리
- 가장 큰 수 프로그래머스
- 프로그래머스
- 다이나믹프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함