본문 바로가기
  • 실행력이 모든걸 결정한다
Algorithm/Brute force

완전탐색 고득점 kit 풀이 완료, 후기

by 김코더 김주역 2020. 9. 24.
반응형

완전탐색을 브루트 포스(brute force)라고도 많이 부르고, brute는 무식한 이라는 뜻이다.

알고리즘 설명에도 마침 '무식해 보여도 사실은 최고의 방법일 때가 있지요.' 라고 되어있다.

브루트 포스는 정말 특별한 접근법 없이 무식하게 모든 경우를 탐색하면 된다.

이 알고리즘의 장단점에 대해 설명하자면,

장점 : 다른 알고리즘에 비해 머리를 많이 쓰지 않아도 된다.

단점 : 모든 경우를 탐색하는 방법이다보니 시간복잡도가 크다. 브루트 포스 문제에서는 데이터 범위를 크게 주지 않는 편이다.

 

브루트 포스에서는 간단한 반복문만 써도 되는 경우도 있지만, 순열이나 조합을 써서 모든 경우를 탐색해야 하는 경우도 많다.

본인이 순열, 조합에 대해 정리한 포스팅 링크를 남겨두었으니 참고하면 좋을 것이다.

순열

kimcoder.tistory.com/115?category=888042

 

재귀를 이용한 간단한 순열 알고리즘

이 소스코드는 중복 요소도 허용한다. 중복 요소를 지우고 싶다면 erase, unique 함수를 이용하면 된다. 중복 요소 제거 방법에 대한 포스팅 링크도 첨부했다. kimcoder.tistory.com/100?category=887790 벡터 정

kimcoder.tistory.com

조합

kimcoder.tistory.com/118?category=888042

 

next_permutation을 이용한 조합 구현

#include #include #include #include using namespace std; vector arr; vector check; void set_check(int n, int r){ for(int i=0;i next_permutation 함수는 배열을 순열해주는 함수이다. 일반적인 순열 순으..

kimcoder.tistory.com

 

문제 모음

[난이도 하] 모의고사 kimcoder.tistory.com/119?category=888042

[난이도 중] 소수 찾기 kimcoder.tistory.com/114?category=888042

[난이도 중하] 카펫 kimcoder.tistory.com/103?category=888042

반응형

댓글