본문 바로가기
반응형

완전탐색3

[백준/C++] 계란으로 계란치기 (No. 16987) 문제 문제 설명 "> HTML 삽입미리보기할 수 없는 소스  풀이 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 [문제 풀이] 처음에 이 문제를 봤을 때 가장 효율적인 방법이 있을까? 고민했지만 방법이 떠오르지 않았다.그래서 완전 탐색으로 모든 경우를 고려해 계란을 깨는 방법을 선택했다. 이러한 방법이 가능한 이유는 N이 8로 작기 때문에 8^8 = 2^24로 충분히 빠르게 해결이 가능하기 때문이다. 1번 계란부터 차례대로 다른 계란을 치는데 만약 깨져있다면 넘어가도록 코드를 구현했다. 이 과정에서 내구도와 무게가 저장된 vector가 계속 복사되지 않도록 Call by Reference를 이용했다. i번 계란으로 j번 계란을 칠 수 있다면 i.. 2024. 10. 1.
[백준/C++] 조용히 하라고!! 문제 문제 설명 ">HTML 삽입미리보기할 수 없는 소스   풀이 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 [문제 풀이] 이 문제를 처음 봤을 때, 완전 탐색을 해야겠다는 생각이 들었다.왜냐하면 모기를 가장 많이 잡는 루트를 탐색하는 최적의 방법이 없다고 판단했기 때문이다. 시간 복잡도는 O(N*M*K+K!) 으로 N과 M이 충분히 작고 K도 10으로 매우 작아 계산해보면 충분히 완전 탐색을 해도 통과할 것이라고 생각했다. (10! = 3,628,800) 우정이는 모기를 잡는 순서를 따라 이동하면서 이동시간을 초과하지 않을 때 까지 모기를 잡는다.그렇게 모든 경우를 계산해 가장 모기를 많이 잡은 경우를 저장한다.(우정이는 모기가 있는 위치.. 2024. 5. 10.
[프로그래머스/C++] 외벽 점검 (2020 KAKAO BLIND RECRUITMENT) HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 [문제 풀이] 이 문제는 완전탐색으로 풀 수 있는 문제다. 시계방향으로 점검을 하나 시계 반대 방향으로 점검을 하나 어차피 이동하는 거리는 같기 때문에 시계 방향으로 도는 경우만 고려하면 된다. 여기서 완전 탐색을 할 때 weak 부분에서 점검을 시작하는게 이득이다. 이 점을 고려해서 특정 weak 부분에서 어떤 weak까지 점검을 할 수 있는지 비교하면된다. 마지막 취약점 부분까지 탐색을 완료하면 탐색을 마쳤을 경우 이때 출발한 친구 수를 min값과 비교해 저장하면 된다. 여기서 또 출발을 어디서부터 하는지 생각해야 한다. 왜냐하면 계산을 편하게 하기 위해 시계 반대 방향의 탐색을 고려하지 않고 시계 방향으로 탐색만 고려했기.. 2024. 2. 10.
반응형