브루트 포스
-
무식하게 풀기(Brute Force)24년 11월 이전/레거시-알고리즘 2019. 10. 15. 10:46
이 문서는 책 "알고리즘 문제 해결 전략"을 토대로 만들어졌습니다. Contents 무식하게 풀기란? 예제 1 - N까지의 합 예제 2 - N개 중 R개 고르기 결론 무식하게 풀기란? "Computer Science 정복하기" 두 번째 프로젝트 알고리즘의 첫 번째 장 "무식하게 풀기"입니다. 무식하게 푸는 것은 알고리즘 설계의 가장 기초로써, 컴퓨터의 빠른 성능을 이용하여 가능한 경우의 수를 모두 탐색하는 방법입니다. 흔히들 "Brute Force" 혹은 "완전 탐색 알고리즘"이라고 부르는 이 알고리즘 패러다임에 대해서 몇 개의 예제를 통해서 공부해보도록 하겠습니다. 참고적으로 이 알고리즘 패러다임은 문제를 반복되는 작은 조각으로 나누는 것입니다. 이를 위해서 재귀 호출을 이용한 반복문을 주로 이용합니다..
-
알고스팟 문제 풀이 BOARDCOVER24년 11월 이전/레거시-알고스팟-알고리즘 문제 해결 전략 2019. 10. 6. 16:48
책 "알고리즘 문제 해결 전략"에 나오는 algospot 문제 "BOARDCOVER"에 대한 풀이입니다. 목차 문제 해결 전략 코드 전문 문제 해결 전략 BOARDCOVER 문제 URL은 다음과 같습니다. BOARDCOVER URL 제가 이 문제를 해결하기 위해서 체택한 방법은 "무식하게 풀기"입니다. 결론부터 말씀드리면 이 문제는 다음과 같이 풀 수 있습니다. 보드를 좌표 (0, 0) 부터 시작해서 보드 끝 좌표 (W-1, H-1)까지 다음을 반복합니다. 블럭을 넣을 수 있는 좌표 (x, y)를 찾습니다. (x, y)에 L자 블럭을 넣을 수 있으면 넣습니다. 계속 채워나가다, 좌표 끝에 도달했을 때, 보드판을 모두 채웠으면, 그 개수를 셉니다. 사실 이렇게 해결책을 제시해도 말이 쉽지 우리가 바로 알고..