[백준] 1285. 동전 뒤집기 (비트마스킹/Java)
·
코딩 테스트/Baekjoon
[백준] 1285. 동전 뒤집기 📌 풀이 과정동전의 상태가 앞(H), 뒤(T) 2가지 뿐이기 때문에 각 위치를 2진수로 표현이 가능하다.H = 0, T = 1로 설정하고 문제를 풀었다.그리고 각 행과 열은 뒤집느냐, 뒤집지 않느냐 두가지 경우로 나눠지기에행을 먼저 완전탐색한 이후에, 열 기준으로 T의 갯수를 카운트해 뒤집을지 말지 판단을 하면 된다. 1. 동전 상태를 비트로 저장N개의 행을 정수 배열 coin[]에 저장해서 각 행을 하나의 N비트 정수로 표현했다.예를 들어 `HTT(앞면, 뒷면, 뒷면)`인 경우H → 0T → 01T → 011 (2진수) = 3 (10진수) 2. 행을 뒤집는 연산비트를 사용하기 때문에 행을 뒤집는다는 것은 각 비트를 반전시키는 것과 같기 때문에 NOT 연산 `~`을 사..