[백준 2961] 도영이가 만든 맛있는 음식(JAVA)
·
알고리즘/백준
풀이 해당 백준 문제에서 알고리즘 분류로 '브루트포스 알고리즘'과 '비트마스킹'이라는 것이 힌트로 나와있길래 비트마스킹을 사용하여 문제를 해결하였다. BitArrayBuilder 라는 클래스를 따로 만들어주어서 생성자로 비트 열의 사이즈를 정하도록 되어있는데, 도영이의 재료 N개를 의미한다. '마스킹' 이라하면 여러 군데 특히 포토샵을 조금 써보신 분들이라면 익숙하실 탠데, 마스킹(Masking) 기법은 어떤 배열을 대상으로 하여 배열 내 모든 값들 중 특정한 조건을 만족하는 것들만 선별하는 기법이다. 이걸 어떻게 사용했었냐면, 비트가 1에 위치한 것들만 추출하여 계산하여 최솟값을 찾는 방법을 택했다. 4비트라고 했을 때, 우리는 0000~1111까지 서로 겹치지 않는 방법으로 모든 것을 확인할 수 있다..
세균없는세균맨
'java' 태그의 글 목록