[백준/Java] #14503 로봇 청소기
2023. 6. 20. 19:13
알고리즘
로봇 청소기 (14503번) 사용 언어 : Java 레벨 : 골드5 📎 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net ❓ 접근 문제를 보자마자 그동안 풀어본 BFS 문제 풀이들을 약간 바꿔서 사용하면 되겠다 생각했다. 1. 현재 칸이 청소되지 않은 경우, 현재 칸을 청소한다. 2. 현재 칸의 주변 4칸 중 청소되지 않은 빈 칸이 없는 경우 바라보는 방향을 유지한 채로 한 칸 후진할 수 있다면 ..
[백준/Java] #16985 Maaaaaaaze
2023. 6. 20. 17:24
알고리즘
Maaaaaaze (16985번) 사용 언어 : Java 레벨 : 골드2 📎 https://www.acmicpc.net/problem/16985 16985번: Maaaaaaaaaze 첫째 줄부터 25줄에 걸쳐 판이 주어진다. 각 판은 5줄에 걸쳐 주어지며 각 줄에는 5개의 숫자가 빈칸을 사이에 두고 주어진다. 0은 참가자가 들어갈 수 없는 칸, 1은 참가자가 들어갈 수 있는 칸을 www.acmicpc.net ❓ 접근 조건이 굉장히 많고 번거로워서 문제를 완전히 이해하는데 시간이 좀 걸렸다. 1. 백트래킹을 이용해 5개의 판의 쌓을 순서를 정한다. (순열) 2. 백트래킹을 이용해 각 판의 회전방향을 정한다. (중복순열) 3. 순서대로 회전방향에 맞게 판을 쌓는다. 4. 입구와 출구가 1일 경우 BFS를 돌..
[백준/Java] #18808 스티커 붙이기
2023. 6. 2. 19:16
알고리즘
스티커 붙이기 (18808번) 사용 언어 : Java 레벨 : 골드3 📎 https://www.acmicpc.net/problem/18808 18808번: 스티커 붙이기 혜윤이는 최근에 다양한 대회를 참여하면서 노트북에 붙일 수 있는 스티커들을 많이 받았다. 스티커는 아래와 같이 사각 모눈종이 위에 인쇄되어 있으며, 스티커의 각 칸은 상하좌우로 모두 연 www.acmicpc.net ❓ 접근 문제가 굉장히 긴데 열심히 읽어보니 문제 자체는 그렇게 어렵지 않았는데 구현을 어떻게 하느냐가 문제였다. 문제를 간단하게 요약하면 1. 왼쪽 위부터 스티커를 붙일 수 있는지 확인한다. 2. 전부 다 확인했을 때 붙이지 못하면 90도 회전한다. 3. 회전 후 1 ~ 2 과정 반복 (270도까지 회전) 4. 전체 스티커가..
[백준/Java] #4179 불! (⚠️시행착오 엄청 많음 주의⚠️)
2023. 5. 18. 19:04
알고리즘
오늘은 피코 스터디에서 BFS 문제들을 풀고 코드리뷰 하는 시간을 가졌다. 다른 BFS 문제는 큰 고난 없이 잘 풀었는데 나의 멘탈을 탈탈 털게 해 준 문제가 있어서 들고 와봤다. [백준 - #4179] 불! 문제 링크 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문자 www.acmicpc.net ✔️ 문제 설명 지훈이는 미로에서 일을 한다. 지훈이를 미로에서 탈출하도록 도와주자!미로에서의 지훈이의 위치와 불이 붙은 위치를 감안해서 지훈이가 불에 타기 전에 탈출할 수 있는지의 여부, 그리고 얼마나 빨리 탈출할 수 있는지를 ..