✏️ 𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺

    [알고리즘] Bit Masking

    Bit Masking 개요 보통 알고리즘 문제를 풀 때 방문했다는 표시로 boolean visit 배열을 많이 사용합니다. BitMask 은 해당 visit 배열처럼 bit 표현을 통해서 true/false 를 표시하는 기법이라고 보시면 됩니다. 방문을 했다 → true, 1 방문을 하지 않았다 → false, 0 bit 자체가 0, 1 을 통해 표시가 되니 visit 배열과 방식의 차이가 없어 쉬이 이해가 되실겁니다. 저도 처음에 이게 무슨 소린가 싶었는데 bit 표현만 생각해보면 이해가 되는 것이었습니다. 이해가 안되신다면 아래 설명을 확인해주시길 바랍니다. bit 표현 public class Test { public static void main(String[] args) throws Excepti..

    [BJ1987] 알파벳

    백준 - 알파벳 문제 링크 https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 문제 입출력 2 4 CAAB ADCB 3 6 HFDFFB AJHGDH DGAGEH 5 5 IEFCJ FHFKC FFALF HFGCF HMCHH 3 6 10 문제 풀이 import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.ut..

    [BJ1697] 숨바꼭질

    백준 - 숨바꼭질 문제 링크 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 문제 입출력 5 17 4 문제 풀이 import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.ArrayDeque; import java.util.Queue; import java.util.Strin..

    [BJ9663] N-Queen

    백준 - N-Queen 문제 링크 https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 입출력 입출력1 8 92 입출력2 4 2 문제 풀이 import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.Arrays; public class Main { static int ans, N; static int[] cols; p..

    [BJ3109] 빵집

    백준 - 빵집 문제 링크 https://www.acmicpc.net/problem/3109 3109번: 빵집 유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴보던 www.acmicpc.net 문제 입출력 5 5 .xx.. ..x.. ..... ...x. ...x. 2 문제 풀이 //package problem.BJ; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.ArrayDeque; import java.util.Queu..

    [BJ2667] 단지 번호 붙이기

    백준 - 단지 번호 붙이기 문제 링크 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 문제 입출력 5 10110 01101 11011 10111 01111 3 1 7 10 문제 풀이 package problem.BJ; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.ArrayList; impo..