알고리즘19 [백준] 20055 - 컨베이어 벨트 위의 로봇 난이도 - G5 사용 개념 - 구현, 자료구조(Queue) 핵심 키워드 * 1. 로봇은 n-1위치에 존재할 때 내릴 수 있다면 무조건 내린다. * 2. 컨베이어 벨트의 작업 순서에 유의해야 한다. 1) 컨베이어 벨트가 먼저 회전한다. 벨트 위에 로봇이 존재한다면 로봇을 포함하여 회전한다. 2) 이후 로봇이 움직일 수 있다면 "먼저 들어온 로봇의 순서대로" 앞으로 1칸 이동한다. 3) 이후 0번 인덱스에 존재하는 컨베이어 벨트의 내구도가 1보다 크고 로봇이 없다면, 로봇을 올리고 내구도를 1 감 소한다. 4) 이 과정 속에서 로봇이 n-1에 존재한다면, 무조건 내린다. * 3. 내구도가 0인 칸의 개수가 K개 이상이라면 과정을 종료한다. 그렇지 않다면 1번으로 돌아간다. 1 2 3 4 5 6 7 8 9 1.. 2024. 3. 17. [백준] 17135 - 캐슬 디펜스 난이도 - G3 사용 개념 - 조합 + 브루트포스 + 구현 + BFS 핵심 키워드 * 1. 같은 거리에 있다면 가장 왼쪽에 있는 적을 처치한다. * 2. 여러 명의 궁수가 같은 적을 공격할 수 있다. ----> BFS의 결과 확인을 동일 시간대에 확인해야함. * 3. 좌, 중, 우 순으로 조회 - 궁수는 거리가 가까운 적부터 처리한다. 만약 거리가 같은 적이 여럿 존재한다면 가장 왼쪽의 적부터 처리한다. - 다른 궁수가 같은 타겟을 공격할 수 있다. 즉, 동일 시간대에 처리되는 적에 대한 상황을 생각해야한다. - 1번의 사이클이 끝나고 난다면 적이 1칸 내려온다 ( --> 궁수가 1칸 전진한다와 같은 의미) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 .. 2024. 2. 17. [D2] 이진수 표현(비트마스크, BitMask) ** 옛날에 풀었던 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 import java.io.*; import java.util.*; class Solution{ static StringTokenizer st; static int n,m,k; static char[][] arr; static int[] dx= {1,-1,0,0}; static int[] dy = {0,0,1,-1}; static boolean[][] visited; static int max; static StringBuilder sb; public static void main(S.. 2024. 1. 28. [D2] 새로운 불면증 치료법(비트마스크, BitMask) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV18_yw6I9MCFAZN ** 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 package day1; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Set; im.. 2024. 1. 28. 이전 1 2 3 4 5 다음