본문 바로가기

삼성 SW 역량 테스트14

백준 17779 게리맨더링 2 - 삼성 SW 역량 테스트 기출 백준 17779 게리맨더링 2 - 삼성 SW 역량 테스트 기출 1. 문제 링크 https://www.acmicpc.net/problem/17779 17779번: 게리맨더링 2 재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름 www.acmicpc.net 2. 문제 해결에 대한 아이디어 1. 이 문제는 모든 경우의 수를 해보면 된다. (완전 탐색 / Brute Force) . 그렇기 때문에 y, x, d1, d2의 모든 경우를 따져봐야한다. . 여기서 수행 시간을 줄이려면 경우를 따지기 전에 d1과 d2가 가능한 값인지 체크해야한다. (코드 참고) . 사전 체크를 한 경우와 .. 2021. 9. 28.
백준 17144 미세먼지 안녕! - 삼성 SW 역량 테스트 기출 백준 17144 미세먼지 안녕! - 삼성 SW 역량 테스트 기출 1. 문제 링크 https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 2. 문제 해결에 대한 아이디어 1. 공기 청정기가 위 아래에서 각각 공기를 정화한다. 따라서 위와 아래를 따로 구현했다. 2. 먼지 확산은 copyBoard에 기록하고 다시 원래 board에 대입했다. (copyBoard에 공기청정기 표시해야함) 3. 먼지의 이동(공기 청정)은 먼지의 이동 방향과 역방향으로 접근해.. 2021. 9. 28.
백준 17143 낚시왕 - 삼성 SW 역량 테스트 기출 백준 17143 낚시왕 - 삼성 SW 역량 테스트 기출 1. 문제 링크 https://www.acmicpc.net/problem/17143 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. www.acmicpc.net 2. 문제 해결에 대한 아이디어 1. ArrayList sharkList에 상어 정보를 담는다. 2. 낚시왕이 한 칸 이동하여 상어 잡음 -> 상어 이동 의 반복이다. 3. 상어를 특정지을 수 있는 것은 크기이다. 따라서 상어를 잡거나 먹을 때 크기를 기준으로 한다. 4. 낚시왕이 잡은 상어의 크기를 기억해.. 2021. 9. 27.
백준 19236 청소년 상어 - 삼성 SW 역량 테스트 기출 백준 19236 청소년 상어 - 삼성 SW 역량 테스트 기출 1. 문제 링크 https://www.acmicpc.net/problem/19236 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net 2. 문제 해결에 대한 아이디어 1. 번호 순서대로 물고기가 이동해야 하기 때문에, fishList에 물고기 정보를 담아 번호를 기준으로 오름차순 sorting했다. . 이로 인해 index로 특정 no의 물고기 정보에 접근할 수 있다. 2. 죽은 물고기는 deadList에 "번호"만 넣었고, 죽은 물고.. 2021. 9. 25.
백준 16236 아기 상어 - 삼성 SW 역량 테스트 기출 백준 16236 아기 상어 - 삼성 SW 역량 테스트 기출 1. 문제 링크 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 2. 문제 해결에 대한 아이디어 1. 상어가 움직임을 멈추는 경우는 두 가지가 있다. . 모든 물고기를 먹은 경우 . 자기보다 크기가 크거나 같은 물고기만 남은 경우 2. 상어의 위치를 기준으로 BFS 하여 처음 물고기를 만나는 거리(비용)을 minDist에 저장한다. 3. 업데이트 된 minDist와 같은 거리에 .. 2021. 9. 24.
백준 21608 상어 초등학교 - 삼성 SW 역량 테스트 기출 백준 21608 상어 초등학교 - 삼성 SW 역량 테스트 기출 1. 문제 링크 https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 2. 문제 해결에 대한 아이디어 1. 학생들을 배치하고나서, 인접한 학생들 중 선호하는 학생이 얼마나 있는지에 따라 만족도에 대한 점수를 매긴다. 2. 만족도에 대한 점수를 매길 때, 어떤 학생의 선호학생 리스트를 사용해야한다. 3. 따라서, Student 클래스의 리스트를 만들어 각 객체마다 번호와 선호학생.. 2021. 9. 22.