삼성 SW 역량 테스트13 SW 역량 테스트 기출 문제(원판 돌리기) [원판 돌리기 _ 17822] * 조건 배열의 사이즈인 N, M과 명령의 개수(T)가 주어진다 원판에 적힌 수가 주어진다 명령으로는 명령이 진행될 원판의 배수(xi), 방향(di), 회전 수(ki)가 주어진다 방향은 시계 방향(0)과 반시계 방향(1)이다 회전을 진행한 후, 위에 언급된 조건에 맞게 인접한 곳은 모두 0으로 처리한다 만약 한 군데도 인접한 곳이 없다면 전체 원판에 값이 존재하는 값들의 평균을 구해 값 > 평균 -> 값 - 1 값 값 + 1 명령을 모두 수행한 후 남아있는 원판 값들의 합을 출력한다 * 알고리즘 시뮬레이션 BFS * 로직(Logic) 주어진 방향에 맞게 해당되는 배열을 회전시킨다 회전시킨 후의 맵을 BFS를 통해 인접한 값을 탐색한다 탐색을 할 때, 인접한 부.. 2019. 11. 12. SW 역량 테스트 기출 문제(아기상어) [아기상어 _ 16236] * 조건 아기상어는 1마리, 물고기는 m마리 한 칸에는 물고기가 최대 1마리 아기상어 가장 처음 아기상어의 크기 = 2 1초에 상하좌우 한 칸씩 이동 가능 상어 >= 물고기 크기여야만 먹거나 이동 가능 물고기를 먹은 횟수 == 상어의 현재 크기이면 상어의 사이즈++ 먹을 수 있는 물고기 1마리 -> 해당 물고기를 먹고 이동 2마리 이상 -> 거리순으로 판단 -> 거리가 같다면 더 위에 있는 순으로 판단 -> 같은 레벨이라면 더 왼쪽에 있는 순으로 잡아먹을 물고기의 우선순위를 측정 물고기를 먹게되면 해당 칸의 값 = 0 * 알고리즘 - 매 초마다 상하좌우로 주변을 탐색하며 물고기의 유무 확인: BFS * 로직(Logic) - 1초 사이클 : 현재 상어의 위치를 기준으로 상하좌우 .. 2019. 10. 18. SW 역량 테스트 기출 문제(미세먼지 안녕) [미세먼지 안녕 _ 17144] * 조건 1초 동안 이루어지는 사이클은 [미세먼지 확산 -> 공기청정기 가동]이다 공기청정기는 2개 -> 상단 공기청정기는 반시계방향, 하단 공기청정기는 시계방향으로 바람을 가동한다 T초 이후의 남아있는 미세먼지의 양을 출력한다 * 알고리즘 - 미세먼지를 인접한 곳에 확산시키기: BFS - 공기청정기를 가동시켜 방향에 맞게 회전시키기: 시뮬레이션 * 로직(Logic) - 상단, 하단 공기청정기의 위치를 담고, 미세먼지가 존재하는 위치를 큐에 담는다 - 담긴 큐를 기반으로 미세먼지를 확산시킨다 - 확산시키면서 계산된 값들을 tmp 배열에 담고, 이를 map에 다시 덮어준다 - 덮인 map을 기반으로 공기청정기를 가동한다 - 회전 방향에 맞게 배열에 있는 미세먼지 값들을 이동.. 2019. 10. 16. 이전 1 2 3 4 5 다음