알고리즘/삼성 SW 기출문제
-
[백준] 16236 아기 상어 (Java)알고리즘/삼성 SW 기출문제 2024. 1. 17. 09:24
https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net bfs 문제이지만, 몇가지 신경써야 할 점이 있다. 1. 타겟(가까운 물고기)이 복수라면, x좌표가 작은 물고기, 그것 또한 복수라면 y좌표가 작은 물고기를 찾아 이동 2. 아기 상어의 상태인 x, y, size, eat 의 관리 3. eat가 size와 같아 졌을 때 size 증가, eat 초기화 4. 잡아먹은 물고기 좌표값 초기화 5. 아기 상어가 목표를 잃을 때 까지 반복 해결 1. ..
-
[백준] 15686 치킨 배달 (Java)알고리즘/삼성 SW 기출문제 2023. 11. 29. 20:52
https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net m == 치킨집의 개수가 됐을 때, 도시의 치킨 거리를 구해야 한다 폐업하는 지점은 dfs의 순열을 통해 탐색하자 도시의 치킨 거리는 모든 집의 위치에서 가장 가까운 치킨집의 거리를 합산하여 구하고, 이를 min과 비교하여 저장하자 혹은 브루트포스를 통해 집의 좌표와 모든 치킨집의 좌표를 비교해도 될 것이다 뭐가 더 효율적인지는 모르겠는데, 문제에선 부르트포스를 사용해 절댓값..
-
[백준] 14501 퇴사 (Java)알고리즘/삼성 SW 기출문제 2023. 11. 27. 21:42
https://www.acmicpc.net/problem/14501 집중력 최하로 떨어진 날... 어려운 문제도 아니고 같은 유형의 문제를 풀어본 기억이 있는데도 불구하고 한번에 풀지 못한게 너무 아쉽다 짧게 요약만 하고 내일 일어나서 다시 풀려고 한다 다시 풀어보니 전혀 다른 경험치를 쌓을 수 있는 문제라 생각되서 정리를 다시 한다 dp의 개념을 새로 정립한 느낌이다 n = dp(n - 1) + dp(n - 2) 와 같은 점화식은 익숙하다 하지만 선택해야 하는 범위가 상수를 연산하는 것 만으로 표현 할 수 없는 경우에 대해서는 생각해 보지 않았다 이번 문제에서는 현재 회의를 했을 때 (p[i] + dp[i]) 와 하지 않고 그 날짜만큼 지났을 때의 값(dp[t[i] + i]) 중에 큰 것을 dp[t[i..
-
[백준] 16234 인구이동 (Java)알고리즘/삼성 SW 기출문제 2023. 11. 24. 13:34
https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net import java.io.*; import java.util.*; class Main{ static boolean[][] visit; static List list; static int[][] map; static int[] dx = {-1, 1, 0, 0}; static int[] dy = {0, 0, -1, 1}; static int n, L, R; public static v..