전체 글

전체 글

    BOJ - 드래곤 커브 15685번 (JAVA)

    ❓ 문제 - 백준 드래곤 커브 15685번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/15685) 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커 www.acmicpc.net 📝 문제해결법 1. 이 문제는 구현으로 풀었다. - 구현 핵심 아이디어는 다음과 같다. 방향 동(0), 북(1), 서(2), 남(3) 으로 잡았을 때 (현재 방향 인덱스 + 1) % 4 한 값은 문제에서 주어진 방향을 90도로 회전한 값이다. 리스트에서 그 전 세대들의 모든 방향을 마지막부터 꺼내와서..

    BOJ - 사다리 조작 15684번 (JAVA)

    ❓ 문제 - 백준 사다리 조작 15684번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/15684) 📝 문제해결법 1. 이 문제는 DFS+구현으로 풀었다. 사다리가 이미 존재하는 곳엔 map엔 true 처리해준다. map에서 x, y가 true라면 x ~ x, y ~ y+1 에 사다리가 놓아져있다는 의미이다. dfs(조합)의 경우로 사다리가 존재하지 않는 구간에서 사다리를 1~3개까지 놓을 수 있는 경우의 수를 구한다. 만약 놓으려는 사다리 자리가 왼쪽 (x,y-1)에 사다리가 놓아져 있지 않고, 오른쪽(x, y+1)에도 사다리가 놓아져 있지 않으면 사다리를 놓을 수 있기 때문에 사다리를 놓는다. 만약 (depth = 사다리를 놓은 갯수) 가 현재 ans(사다리 최..

    BOJ - 감시 15683번 (Java)

    ❓ 문제 - 백준 감시 15683번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/15683) 📝 문제해결법 1. 이 문제는 DFS+구현으로 풀었다. 각 CCTV의 타입을 받아서 각 타입에 맞춰서 회전된 상태를 조합하여 사각지대의 최소값을 찾는다. dx, dy로 방향 북(0), 남(1), 서(2), 동(3)으로 이동할 수 있도록 구현한다. CCTV 타입이 1인 경우 90도 회전할 수 있는 경우는 북(0) / 남(1) / 서(2) / 동(3) 4가지 경우이다. CCTV 타입이 2인 경우 90도 회전할 수 있는 경우는 서(2), 동(3) / 북(0), 남(1) 2가지 경우이다. CCTV 타입이 3인 경우 90도로 회전할 수 있는 경우는 북(0), 동(3) / 남(1), ..

    BOJ - 로봇 청소기 14503번 (JAVA)

    ❓ 문제 - 백준 로봇 청소기 14503번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/14503) 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 📝 문제해결법 1. 이 문제는 구현으로 풀었다. 주어진 문제 흐름 그대로 구현했다. while 두 개를 활용하였다 처음 outer1 while문은 전체 로봇 청소기의 운행으로 보면 된다. 따라서 현재 위치를 청소 하고 outer2에서 청소할 영역을 탐색한다. 현재 방향에서 왼쪽에 있는 곳에 청소를 아직 안 한 빈칸이라면 영역..