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를 돈다. 아직 방문..

www.acmicpc.net/problem/16973 16973번: 직사각형 탈출 크기가 N×M인 격자판에 크기가 H×W인 직사각형이 놓여 있다. 격자판은 크기가 1×1인 칸으로 나누어져 있다. 격자판의 가장 왼쪽 위 칸은 (1, 1), 가장 오른쪽 아래 칸은 (N, M)이다. 직사각형의 가장 www.acmicpc.net ✔ 문제 조건 1. 격자판의 가장 위쪽 위칸은 (1, 1), 가장 오른쪽 아래 칸은 (N, M). 1-1. 격자판의 각 칸은 빈 칸 or 벽 2. 이동시킬 직사각형의 가장 위쪽 위칸은 (sr, sc)이며, 크기는 W * H이다. 2-1. 직사각형은 벽이 있는 칸에 갈 수 있다. 3. 직사각형의 가장 위쪽 위칸은 (sr, sc)에서 시작해서 (er, ec)까지 갈 수 있는 최소 이동 횟수..