본문 바로가기

brute force

알고리즘 코딩기법 - 7. Bit 연산 Brute Force 안녕하세요 조일룡입니다. 이번에는 2진수를 이용하여 모든 경우의 수를 탐색하는 Brute Force에 대해 알아보겠습니다. Brute Force Brute Force는 문제를 해결할 수 있을지도 모를 모든 후보 해를 전부다 탐색하여 정말로 문제를 풀 수 있는 해를 찾는 방법입니다. 쉽게 생각해서 문제가 1 + x = 100 인 경우 이 문제의 해 x가 [0, 100] 사이의 자연수라는 것을 안다고 가정했을 때 단순히 x에 0부터 100까지 모두 대입해 보고 문제가 풀리는 x값을 찾는식의 방법입니다. 물론 저 문제를 저렇게 푸는 바보는 없어야 하겠죠? 여튼 위의 '예' 처럼 Brute Force는 해법이 간단하고 쉬운 반면 모든 후보해를 탐색해야하기 때문에 상당히 느리다라는 단점이 있습니다. 그럼에도 Br.. 더보기
TopCoder SRM 425 SRM 425 Division 1은 250과 500점에 Brute Force 문제가 나왔고 1000에 그래프 이론과 수학적 사고력을 필요로 하는 문제가 출제되었다. 250은 비교적 어려운 느낌이었지만 250점 배점이 적당해 보였고 500점은 비교적 쉽게 느껴졌다. 1000점짜리는 문제의 난이도도 안드로로 달리면서 동시에 시스템 테스트 데이터에 버그가 있는 바람에 매치가 끝나고 한참 후에야 버그를 잡고 리저지를 하는 해프닝이 벌어졌다. 루머에 의하면 신 Petr님께서 테스트 데이터의 버그를 찾아 자신이 왜 petr인가를 보여줬다고 하는데 믿거나 말거나이다. 매치이전 레이팅 2928를 기록하던 JongMan님은 매치 시작전부터 타겟의 가능성이 점쳐져 왔다. 매치 시작후 내가 화장실을 갔다온 사이 이미 250.. 더보기
Square http://acm.pku.edu.cn/JudgeOnline/problem?id=2362 Description Given a set of sticks of various lengths, is it possible to join them end-to-end to form a square? Input The first line of input contains N, the number of test cases. Each test case begins with an integer 4 더보기