본문 바로가기

Algorithm(알고리즘)131

[Java][백준 13460][BFS+시뮬레이션][삼성SW 역량 테스트] 구슬탈출 2 문제 스타트링크에서 판매하는 어린이용 장난감 중에서 가장 인기가 많은 제품은 구슬 탈출이다. 구슬 탈출은 직사각형 보드에 빨간 구슬과 파란 구슬을 하나씩 넣은 다음, 빨간 구슬을 구멍을 통해 빼내는 게임이다. 보드의 세로 크기는 N, 가로 크기는 M이고, 편의상 1×1크기의 칸으로 나누어져 있다. 가장 바깥 행과 열은 모두 막혀져 있고, 보드에는 구멍이 하나 있다. 빨간 구슬과 파란 구슬의 크기는 보드에서 1×1크기의 칸을 가득 채우는 사이즈이고, 각각 하나씩 들어가 있다. 게임의 목표는 빨간 구슬을 구멍을 통해서 빼내는 것이다. 이때, 파란 구슬이 구멍에 들어가면 안 된다. 이때, 구슬을 손으로 건드릴 수는 없고, 중력을 이용해서 이리 저리 굴려야 한다. 왼쪽으로 기울이기, 오른쪽으로 기울이기, 위쪽으.. 2021. 4. 22.
[SWEA][Java][모의 SW][재귀, 부분집합] 2112 - 보호 필름 성능이 우수한 보호 필름을 제작하려고 한다. 보호 필름은 [Fig. 1]와 같은 엷은 투명한 막을 D장 쌓아서 제작된다. 막은 [Fig. 1]과 같이 동일한 크기를 가진 바(bar) 모양의 셀들이 가로 방향으로 W개 붙여서 만들어진다. 이렇게 제작된 필름은 두께 D, 가로 크기 W의 보호 필름이라고 한다. [Fig. 1] 각 셀들은 특성 A 또는 특성 B를 가지고 있다. 보호 필름의 성능은 셀들의 특성이 어떻게 배치됨에 따라 결정된다. [Fig. 1]은 셀 6개를 이어서 만든 막의 단면이다. [Fig. 2]는 셀 8개로 이루어진 엷은 막 6장을 쌓아서 만든 두께 6, 가로크기 8인 보호 필름의 단면이다. A, B는 각 셀들이 가진 특성 A, 특성 B를 의미한다. [Fig. 2] 보호 필름의 성능을 검사하.. 2021. 4. 16.
[SWEA][Java][모의 SW][DFS] 1949 - 등산로 조성 등산로를 조성하려고 한다. 등산로를 만들기 위한 부지는 N * N 크기를 가지고 있으며, 이곳에 최대한 긴 등산로를 만들 계획이다. 등산로 부지는 아래 [Fig. 1]과 같이 숫자가 표시된 지도로 주어지며, 각 숫자는 지형의 높이를 나타낸다. 등산로를 만드는 규칙은 다음과 같다. ① 등산로는 가장 높은 봉우리에서 시작해야 한다. ② 등산로는 산으로 올라갈 수 있도록 반드시 높은 지형에서 낮은 지형으로 가로 또는 세로 방향으로 연결이 되어야 한다. 즉, 높이가 같은 곳 혹은 낮은 지형이나, 대각선 방향의 연결은 불가능하다. ③ 긴 등산로를 만들기 위해 딱 한 곳을 정해서 최대 K 깊이만큼 지형을 깎는 공사를 할 수 있다. N * N 크기의 지도가 주어지고, 최대 공사 가능 깊이 K가 주어진다. 이때 만들 .. 2021. 4. 16.
[SWEA][Java][모의 SW][DFS] 2105 - 디저트 카페 친구들과 디저트 카페 투어를 할 계획이다. [Fig. 1]과 같이 한 변의 길이가 N인 정사각형 모양을 가진 지역에 디저트 카페가 모여 있다. 원 안의 숫자는 해당 디저트 카페에서 팔고 있는 디저트의 종류를 의미하고 카페들 사이에는 대각선 방향으로 움직일 수 있는 길들이 있다. 디저트 카페 투어는 어느 한 카페에서 출발하여 [Fig. 2]와 같이 대각선 방향으로 움직이고 사각형 모양을 그리며 출발한 카페로 돌아와야 한다. 디저트 카페 투어를 하는 도중 해당 지역을 벗어나면 안 된다. 또한, 친구들은 같은 종류의 디저트를 다시 먹는 것을 싫어한다. 즉, [Fig. 3]과 같이 카페 투어 중에 같은 숫자의 디저트를 팔고 있는 카페가 있으면 안 된다. [Fig. 4]와 같이 하나의 카페에서 디저트를 먹는 것도.. 2021. 4. 16.