목록삼성 sw (5)
알고리즘 모음(C++)
문제 링크입니다. https://www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀 www.acmicpc.net 삼성 SW 역량테스트 문제입니다. 구현이 까다로웠지만, 출력 예시를 보면서 문제를 풀면 되는 문제였습니다. 문제를 풀기 위해서는 몇가지 구현을 해야합니다. 1. 원판 돌리기 2. 원판에서 겹치는 수 없애기 3. 겹치는 수가 없을 경우 평균을 구한뒤 원판을 바꾸기 1. 원판 돌리기 X는 돌릴 원판을 결정하는 수, D는 방향(시계 or 반시계), K는 돌릴 횟수, M..
문제 링크입니다. https://www.acmicpc.net/problem/19236 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net 삼성 SW 역량테스트 기출 문제입니다. 까다로운 기출문제 였습니다. 문제에서 구현할 것은 물고기의 움직임 + 상어의 움직임 입니다. 물고기가 움직일 때는 조건이 있습니다. 먹힌 물고기가 아니며, 이동한 칸이 상어가 있는 곳이 아닐 경우에만 이동할 수 있습니다. int map[5][5]; // 상어가 위치한 칸은 -1이다. info info_fish[17]; in..
문제 링크입니다. https://www.acmicpc.net/problem/17837 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하 www.acmicpc.net 삼성 SW 역량테스트 문제입니다. 까다로운 구현 문제였습니다. 게임이 멈추는 경우는 3가지입니다. 1. 턴이 1000번보다 넘게 진행되었을 경우 -> -1를 출력 2. 게임을 진행해도 끝낼수 없는 경우 -> -1를 출력 3. 블럭을 움직였을때 4개 이상의 블럭이 쌓였을 경우 -> 턴 횟수를 출력 3번 경우가 있기 때문에, vector를 통해서, (X , Y) 좌표에 어느 블럭..
문제 링크입니다 https://www.acmicpc.net/problem/19238 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net 삼성 SW 역량 테스트 문제입니다. BFS를 이용하여 풀었습니다. 1. 현재 택시의 좌표에서 가장 가까운 손님에게 찾아간 뒤, 목적지까지 간다. 2. 목적지에서 가장 가까운 손님을 찾아간 뒤, 손님의 목적지까지 간다. 2 - 1. 가장 가까운 손님이 많을 경우, 행이 작은순으로 행이 같은 손님이 있을 경우 열이 작은 순으로 정렬한다. 3. 1..
문제 링크입니다 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 삼성 SW 역량 테스트 문제입니다. 아기 상어는 위와 같은 규칙으로 움직입니다. 문제를 해결하기 위해서 구현해야 할 기능은 상, 하, 좌, 우로 움직이며 갈 수 있는 칸 찾기, 규칙에 따라서 갈 수 있는 칸 정렬, 아기 상어의 정보 변경하기를 구현해야 합니다. 1. 기본 설정 아기 상어가 갈 수 있는 칸 중에서 자신이 먹을 수 있는 물고기가 있을 수 있습니다. 그렇다면 그 ..