Algorithm76 [알고리즘] 인구 이동 (백준 16234번) 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모�� www.acmicpc.net 삼성 기출 문제이다. 예전에 한 번 풀어본 적이 있는 문제이고 시뮬레이션 + 그래프 탐색 문제다. BFS 혹은 DFS 탐색을 하되 몇 번 탐색하느냐를 출력해야한다. Solution 로직 자체는 어려울 것이 없다. 인구 이동이 최대 2000번 이하라고 했으니 2000번까지만 반복문을 돌리고 그 안에서 BFS 혹은 DFS로 탐색을 하는데 이 때 한 번의 탐색동안 연결되는 덩어리가 한 연합이 된다. 그렇게 (0, 0) ~ (N - 1, N - 1) 까.. 2020. 9. 27. [알고리즘] 주사위 굴리기 (백준 14499번) 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도 www.acmicpc.net solved.ac 기준 골드5 문제로 시뮬레이션 문제인데 예전에 풀었을 때는 내가 실력이 별로여서 그런지 모르겠지만 생각을 좀 많이 하고 풀었었는데 이번엔 금방 풀렸다. 사실 그리 어려운 문제도 아니다. 주사위를 어떻게 표현할 것인가가 관건 Solution 주사위는 2차원 배열로 구현했다. 이런 큐브 굴리기 문제는 배열로 구현해서 어느정도 하드코딩 느낌으로 해야되는 것 같다. 1. 전역 변수 sta.. 2020. 9. 23. [알고리즘] 어른 상어 (백준 19237번) 19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net 시뮬레이션으로 악명 높은 삼성 기출 문제다. 삼성은 맵 위에 물체들이 동시에 움직이는 시뮬레이션 문제를 좋아하는 것 같다. 저번에도 몇 번 삼성 익스퍼트 아카데미에서 비슷한 부류의 문제를 본 적이 있다. 각 물체들의 동작이 서로 비동기적으로 일어나는 것을 표현해줘야 하기에 생각보다 어렵다. Solution 1. 전역 변수들 lateinit var map : Array lateinit var sharkList : List.. 2020. 9. 22. [알고리즘] 후보 추천하기 (백준 1713번) 1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1≤N≤20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내는 번호가 빈 칸을 사이에 두고 추천받은 순서대로 � www.acmicpc.net 시뮬레이션 + 자료구조를 적절히 활용하는 문제이다. 우선순위 큐를 만들어서 정해놓은 큐의 최대 크기를 넘어서면 가장 우선순위가 낮은 요소부터 제거하는 원리의 문제다. 물론 문제 자체가 쉬워서 여러 풀이가 가능하지만 정렬을 활용해야한다는 점은 변함없다. Solution 학생마다의 추천수를 보관하는 recommendation, 사진 게시 시기를 나타내는 time 우선순위 큐의 정렬 기준은 recommendation이 가장 작을 수록, time이 가장 작을 수.. 2020. 9. 20. 이전 1 ··· 7 8 9 10 11 12 13 ··· 19 다음