본문 바로가기
728x90

🥇Baekjoon Solutions/삼성SW 기출10

[C++] 백준 23288번: 주사위 굴리기2 https://www.acmicpc.net/problem/23288 23288번: 주사위 굴리기 2 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 가장 왼 www.acmicpc.net N x M 인 지도, 오른쪽이 동쪽, 위쪽이 북쪽 지도의 좌표 표시 (r, c), r은 북쪽으로부터 떨어진 칸의 수, c는 서쪽으로부터 떨어진 칸의 수 가장 왼쪽 위에 있는 칸의 좌표가 (1, 1)이고 가장 아래에 있는 칸의 좌표가 (N, M)이다. 주사위 이동 방식(최초 주사위의 위치는 (1, 1)이고, 윗 면이 1이고, 동쪽을 바라보고 있는 상태) 1. 주사위가 이동 방향으로.. 2022. 4. 29.
[C++] 백준 14891번: 톱니바퀴 https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 www.acmicpc.net 문제풀이 톱나바퀴의 초기 상태와 톱니바퀴를 회전시킨 방법이 주어졌을 때, 최종 톱니바퀴의 상태를 구하기 톱니바퀴 회전 조건 1. 회전하는 톱니바퀴 기준으로 인접해 있는 톱니바퀴가 다른 극이라면 반대편 톱니바퀴 회전x(항상 기준은 회전하는 톱니바퀴에서 다음으로 오는 극을 기준으로함.) 2. 회전하는 톱니바퀴 기준 인접해 있는 톱니바퀴가 같은 극이라면 회전o 입력 첫 4줄 각 줄 별로 1,2,3.. 2022. 4. 28.
[C++] 백준 16236번: 아기 상어 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 문제 풀이 NxN 크기 공간에 물고기 M마리와 아기상어 1마리 존재 최초 아기 상어 크기 2, 아기 상어는 1초에 상하좌우 인접한 한칸씩 이동 아기 상어는 자기보다 큰 물고기가 있는 칸은 지나갈 수 없음. 아기 상어는 자신보다 작은 물고기만 먹을 수 있음. 크기가 같은 물고기는 먹을 수 없지만 지나갈 수는 있음. 물고기 사이즈 1~6 아기 상어 이동 규칙 1. 더 이상 먹을 수 있는 물고기.. 2022. 4. 26.
[C++] 백준 14503번: 로봇 청소기(삼성SW기출) https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 조건 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하기 현재 방향을 기준으로 왼쪽 방향부터 차례대로 인접 칸 탐색 청소하지 않은 칸 발견까지 왼쪽 회전 청소하지 않은 칸 발견하면 해당 방향으로 1칸 전진 모든 방향이 모두 청소 되었다면 바라보는 방향 유지하며 한칸 후진 모든 방향 모두 청소 되어있고 뒤쪽방향이 벽이라면 동작 종료 이미 청소되어 있는 칸을 또 청소하지 않음(재방문x) 입력.. 2021. 10. 24.
[C++] 백준 12100번: 2048 (Easy)(삼성SW기출) https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 조건 번호가 써져있는 블록 이동시키기 이동하는 방향 젤 앞에 있는 것부터 처리해줌 NxN보드사이즈(1~20) 한쪽 방향으로 이동했을 때 해당방향으로 인접해있으면서 같은 수를 가지고 있어야 합쳐짐 입력: N(1~20) 보드 각 칸의 값(0은 빈칸) 출력: 최대 5회 이동 후 최대값이 가장 큰 수 풀이과정 1. 한쪽으로 밀기 2. 0이 아닌 숫자만 추출 3. 연속된 두 숫.. 2021. 9. 22.
[C++] 백준 13460번: 구슬 탈출2(삼성SW기출) https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 조건 보드에 빨간 구슬과 파란 구슬을 하나씩 넣어 빨간 구슬을 구멍으로 빼내는 게임 N(행), M(열) 옵션 -> 왼쪽, 오른쪽, 위쪽, 아래쪽으로 기울이기 가능(라인따라 쭉이동) 빨간 구슬과 파란 구슬이 동시에 구멍에 빠져도 실패(-1) 빨간 구슬과 파란 구슬이 동시에 같은 위치에 있을 수 없음 '.':빈 칸, '#':벽, 'O':구멍, 'R':.. 2021. 9. 19.
[C++] 백준 19237번: 어른 상어(삼성SW기출) https://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 조건 번호가 작을 수록 상어가 강력함 NxN 크기의 격자중 M개의 칸에 상어가 한 마리씩 들어있음 1초마다 모든상어가 인접한 상하좌우 칸으로 이동함 이동한 칸에 냄새를 뿌림(k번 이동하면 냄새가 사라짐) 이동할 칸의 우선순위 아무 냄새가 없는 칸 > 자신의 냄새가 있는 칸(인접한 모든 칸이 빈칸이라도 우선순위 적용)) 자신의 냄새 칸이 여러개라면 상어마.. 2021. 9. 18.
[C++] 백준 15684번: 사다리 조작(삼성SW기출) https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 조건 N:세로선 수, H:가로선 후보, M:가로선 개수(미리 놓려질 수) 임의의 가로 선수가 주어졌을 때 가로선을 추가해서, 사다리 결고가 i출발해서 i로 가는 결과를 만들기 그렇게하기 위해 추가해야할 최소 가로선 수 입력 N(2~10), M(0~(N-1)xH), H(1~30) 가로선의 정보는 a b로 나타낸다(b번과 b+1번 세로선을 a번 점선 위치에서 연결) 출력: 가로선 개수의 최솟값을 출.. 2021. 9. 17.
[C++] 백준 14502번: 연구소(삼성SW기출) https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 조건분석 N(행) x M(열) 직사각형 지도 0:빈칸, 1:벽, 2:바이러스 바이러스는 상하좌우로 퍼져나감 새로 벽 3개를 세울 수 있음 입력:N M (2~8) 빈칸, 벽, 바이러스의 위치 출력:얻을 수 있는 안전 영역의 최대 크기 문제풀이 백트레킹 방법에 착안하여 3개의 벽을 세울 수 있는 모든 경우를 완전탐색형식으로 진행하고 각각에 대해 BFS 그래프 탐색을 통해 바이러스의 전파를 진행시켜 줍니다. 이후 .. 2021. 9. 6.
728x90