(TIL) 20210708

2021. 7. 9. 01:03TIL(Today I learned)

반응형

📕Facts(한 것)


  • 백준 문제풀기
  • 블랙 위도우 영화보기

 

📕Feeling(느낀 점)


백준 레벨 3문제를 풀기 시작했다.(이전에도 풀었지만)

 

어렵지는 않은데, 확실히 한 번에 풀리지는 않는다.

특히 탐색에서 시간초과가 많이 발생하는데,

반드시 이진탐색을 사용해야만 풀리는 경우가 많다.

 

이럴때 C++은 <algorithm> 헤더에 내장되어 있는 binary_search함수를 사용하면 편하다.

 

예를 들어 찾고자 하는 값이 5이면,

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
	vector<int> v = {1, 2, 3, 4, 5, 6, 7};
    if(binary_search(v.begin(), v.end(), 5)) {
    	cout << "Found! << '\n';
   	} else {
    	cout << "Not found" << '\n';
    }
 }

 

다음과 같은 코드를 활용해서 찾을 수 있다.

 

물론, 이진탐색은 "반드시" 정렬된 상태에서만 사용이 가능하다.

 

📕여담


 

반응형

'TIL(Today I learned)' 카테고리의 다른 글

(TIL) 20210710  (0) 2021.07.11
(TIL) 20210709  (0) 2021.07.09
(TIL) 20210707  (0) 2021.07.07
(TIL) 20210706  (0) 2021.07.06
(TIL) 20210705  (0) 2021.07.05