비트마스킹3 [백준] 1094번 - 막대기 [Java] https://www.acmicpc.net/problem/1094 1. 아이디어 이 문제는 1부터 64 사이의 2의 제곱수로 X를 만드는 문제와 동일한 문제가 된다. 64부터 1까지 반복문을 통해 제곱수의 개수를 세는 방식으로 간단하게 해결할 수 있고 비트마스킹을 활용해 X를 2진수로 나타냈을 때 1의 개수를 세는 방식으로도 해결할 수 있다.2. 문제풀이 기본 구현은 for문의 인덱스를 2로 나눠가며 1의 개수를 세도록 구현했고, 비트마스킹의 경우 bitCount 메서드로 1인 비트의 개수를 간단하게 셀 수 있다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { .. 2025. 2. 4. [백준] 1987번 - 알파벳 [Java] https://www.acmicpc.net/problem/1987 1. 아이디어 DFS 알고리즘과 Set을 활용한 방문체크로 간단하게 해결할 수 있고 칸이 알파벳으로만 이루어져있어서 비트마스킹을 활용한 방문체크로도 해결할 수 있다.2. 문제풀이 DFS 탐색 과정에서 다른 노드 가지 탐색을 위해 방문 체크를 해제하는 점만 주의해서 구현하면 된다.3. 코드 import java.io.*;import java.util.*;public class Main_DFS { private static final int[] dr = {-1, 0, 1, 0}; private static final int[] dc = {0, 1, 0, -1}; private static int R; private s.. 2025. 2. 2. [백준] 11723번 - 집합 [Java] https://www.acmicpc.net/problem/11723 1. 아이디어 집합을 구현하는 문제로 Set 자료구조를 활용한 구현과 비트마스킹을 활용한 구현 두가지 방식을 활용했다.2. 문제풀이 switch 문으로 연산 종류에 맞게 연산을 수행하도록 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWrit.. 2025. 2. 2. 이전 1 다음