목록백준 (142)
mojo's Blog
문제 링크 => 15684번: 사다리 조작 (acmicpc.net) 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 삼성 역량 테스트 문제로 BFS + Backtracking 문제이다. 문제 접근방법은 다음과 같다. 1. 위치 (i, j) 에 대하여 함수 f(i, j) 를 해당 위치에 대한 index값이라 할 때 f(i, j) = (i - 1)*N + j 라고 한다. 이때, (i, j) ~ (i, j+1) 의 길을 이어주는 방법은 path[f(i, j)][f(i, j+1)] = path[f(i, j+1)][f..
문제 링크 => https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 삼성 역량 테스트 문제로 시뮬레이션 문제이다. 감시 케이스는 총 5가지로 다음과 같다. (1) 한 쪽 방향으로 상하좌우 총 4번 감독할 수 있는 경우 (2) 두 쪽 방향으로 상하 or 좌우 방향으로 2번을 감독할 수 있는 경우 (3) 두 쪽 방향으로 감시하는 방향이 직각인 방향으로 총 4번 감독할 수 있는 경우 (4) 세 쪽 방향으로 총 4번 감독할 수 있는 경우 (5)..
문제 링크 => https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 www.acmicpc.net 삼성 역량 테스트 문제로 시뮬레이션 문제이다. 톱니바퀴 4개를 2차원 배열 Wheel[4][8] 으로 설정하고 접근하였다. ( i 번의 x번 톱니바퀴 => Wheel[i - 1][x - 1] ) 일단 빠르게 구현할 수 있는 것으로 회전에 대한 부분이다. 시계 방향일 경우 1 => 2, 2 => 3, ... , 8 => 1 이런식으로 이동할 것이므로 다음과 같은 코드가 된다. ..
문제 링크 => 14890번: 경사로 (acmicpc.net) 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 삼성 SW 역량 테스트 문제로 구현 문제이다. 경사로를 놓는 방법은 다음과 같이 정리할 수 있다. 1. 현재 위치가 x 일 때 다음 위치가 (x + 1) 인 경우 => 현재 위치를 기준으로 L 번 뒤로 이동하면서 경사로를 놓을 수 있는지 체크한다. 2. 현재 위치가 x 일 때 다음 위치가 (x - 1) 인 경우 => 다음 위치를 기준으로 L 번 앞으로 이동하면서 경사로를 놓을 수 있는지 체크한다. 이때, 1번과 2번을 확인하..
문제 링크 => 14499번: 주사위 굴리기 (acmicpc.net) 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도 www.acmicpc.net 삼성 SW 역량 테스트 문제이다. 지도에 (x, y) 위치에 배치된 주사위에 대해서 다음과 같은 규칙을 만족해야 한다. 주사위가 지도의 다음 칸으로 이동하는 경우에 대해서 (1) 해당 칸의 값이 0 인 경우 => 주사위 바닥면에 쓰인 숫자가 칸에 복사된다. (2) 해당 칸의 값이 0 이 아닌 경우 => 해당 칸에 쓰여진 숫자가 주..
문제 링크 => 3190번: 뱀 (acmicpc.net) 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net Deque 를 이용하는 문제이다. 뱀의 초기 위치를 (1, 1), 방향은 오른쪽이라고 주어졌고, 사과를 먹으면 뱀의 길이가 증가하고 먹지 못하면 뱀의 길이는 그대로이다. 뱀의 머리 부분과 꼬리 부분을 Deque 의 front, back 이라고 두고 사과를 먹은 경우와 안 먹은 경우를 살펴보도록 한다. 사과를 먹은 경우 ) front 에 뱀이 다음으로 이동할 위치(nextX, nextY) 를 push 해주고 fro..