www.acmicpc.net/problem/2636 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net ✔ 문제 조건 map: 치즈 or 빈칸 0: 빈칸, 1: 치즈가 있는 칸 치즈 공기와 접촉 시 한시간 후 녹아 없어짐 빈칸 치즈 밖에 있는 빈칸은 공기로, 치즈 덩어리의 가장자리와 닿으면 닿은 치즈 칸은 녹는다. 치즈 안에 있는 빈칸은 구멍으로 공기가 아니다. 치즈가 녹으면서 구멍이 열리면 공기가 들어가 치즈를 녹이게 된다. 치즈가 모두 녹아 없어지는데 걸리는 시간과, 녹기 한 시간 전에 남아있는 치즈 칸의 개수 출력 ✔ 접근 과..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5LwsHaD1MDFAXc&categoryId=AV5LwsHaD1MDFAXc&categoryType=CODE&problemTitle=%ED%8C%8C%ED%95%91&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 ✔ 문제 조건R * C 크기 map각 칸은 지뢰 or 빈칸지뢰 클릭 시 게임 종료지뢰가 없는 칸 클릭 시 : 인접한 8방향 칸에 몇 개의 지뢰가 있는지 숫자로 표시이 숫자가 0이라면 (= 근처에 지뢰가 없다면), 근처 8방향의 칸도 자동으로 숫자 표시지뢰가 없는 모든 칸에 숫..
www.acmicpc.net/problem/19238 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net ✔ 문제 조건 N * N 크기 map에서 승객 M명 태우기 목표 각 칸은 빈칸 or 벽 택시: 상하좌우 인접한 빈칸 중 하나로 이동 최단 경로로만 이동 택시 위치에서 최단 거리의 승객 택 택시에서의 최단 경로-> 열 번호 최소 승객 택 연료 소모 한 칸 이동 : 연료 -1 승객 목적지 도달 시, 승객을 태워 이동하면서 소모한 연료 *2 충전 중간에 연료 바닥-> 실패 1)..
[BJ] 15686. 치킨배달 www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net ✔ 문제 조건 N * N, 빈칸 / 치킨집 / 집 r, c는 1부터 시작 치킨거리 : 집과 가장 가까운 치킨집과의 거리 도시의 치킨 거리 : 모든 집의 치킨 거리 합 치킨집 M개 빼고 모두 폐업 시킴 도시의 치킨 거리가 가장 작게 될 때의 치킨 거리 출력 ✔ 접근 과정 치킨집, 집 list 생성 dfs (combination/ 조합)으로 chicken.size..
[BJ] 16236: 아기상어 www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 한달만에 다시 풀어봤는데 다시 푼 방법이 더 편하고 시간도 훨씬 단축된다. ✔ 문제 조건 N * N 크기, 물고기 M마리, 상어 1마리 map[][] 0 : 빈칸 1 ~ 6: 물고기 크기 9 : 아기 상어 상어 최초 크기: 2 상 하 좌 우 중 한칸 이동 1초에 한 칸 이동 상어 > 물고기 : 지나갈 수 있음 / 먹을 수 있음 상어 = 물고기 : 지나갈 수 있음 / 먹을 수..
[BJ] 14503. 로봇 청소기 www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net import java.io.*; import java.util.*; // 210420 public class Main_BJ_14503_로봇청소기 { static int N, M, total; static int[][] map; // 빈 칸은 0, 벽은 1 static int robotR, robotC, robotDir; static int[] dr = {-1, 0, 1, 0}..
www.acmicpc.net/problem/19237 19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net ✔ 문제 조건 N*N 크기 격자, M마리 상어 모든 상어는 자신의 위치에 냄새를 뿌린 후 1초마다 상하좌우로 이동하며 냄새를 뿌린다. 냄새는 상어가 k번 이동하고 나면 사라진다. 이동방향 결정 1) 상하좌우 냄새가 없는 칸 2) 그러한 칸이 없으면 상하좌우 자신의 냄새가 있는 칸 3) 가능한 칸이 여러 개: 특정 우선순위를 따른다. 우선순위는 상어마다 / 상어의 현재..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15QRX6APsCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com ✔ 문제 조건 파손된 곳 (map[r][c]!=0)은 복구 후 지나가야 한다. 복구에 드는 비용은 map[r][c] 만큼이다. 1-1. 파손되지 않은 곳 (map[r][c]==0)은 그냥 지나갈 수 있다. (문제 풀이 시에는 0만큼의 비용을 더해준다고 생각했다.) 상하좌우로 이동 가능 출발지 (0, 0)에서 도착지 (N-1, N-1)까지의 최소 복구 비용 구하기 ✔ 접근 과정 시작점부터 bfs를 돈다. 아직 방문..