Java 2

[BOJ 16234/Java]인구 이동

문제 요약 https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 문제를 봤을 때 어... 시뮬레이션인가..? 그냥 다 해보면 되는건가..? 했는데 입출력 봤을 때 나라 크기가 50*50이 최대길래 시뮬레이션 맞네 하고 풀었다. 이 문제에서 포인트는 연합이 될 국가를 찾아서 인구수 업데이트를 효율적으로 하는 것이라고 생각했다. 연합이 확정되면 연합에 포함되는 인구수도 확정되는데, 이를 연합을 찾으면서 한번에 계산할 수 있으면 속도가 더 ..

알고리즘 2023.08.17

[boj2477/Java] 참외밭

https://www.acmicpc.net/problem/2477 2477번: 참외밭 첫 번째 줄에 1m2의 넓이에 자라는 참외의 개수를 나타내는 양의 정수 K (1 ≤ K ≤ 20)가 주어진다. 참외밭을 나타내는 육각형의 임의의 한 꼭짓점에서 출발하여 반시계방향으로 둘레를 돌면서 지 www.acmicpc.net 문제를 푸는데 있어서 필요한 것은 사각형의 넓이를 구하기 위해서 도대체 어디가 안으로 들어가 있는 부분의 길이인가를 구하는 것이라고 생각했다. 한시간 이상 고민하다가 안되서 다른 풀이를 읽어보고 다시한번 최적화해봤다. 문제를 읽어봤을 때 방향과 길이를 줄 때 출발지는 랜덤이긴 하지만 연속된 모서리를 돌기 때문에 index 상에서 동서 방향 옆에는 항상 남북 방향이 온다. 그리고 가로 방향 중 가..

알고리즘 2023.07.20