Algorithm/CodeUp 3

[코드업 - 4791] 사냥꾼 - Java

문제 설명 사냥꾼 첫 줄에는 사대의 수 $M$ $(1 ≤ M ≤ 100,000)$, 동물 의 수 $N$ $( 1 ≤ N ≤ 100,000)$, 사정거리 $L$ $(1 ≤ L ≤ 1,000,000,000)$이 빈칸을 사이에 두 고 주어진다. 두 번째 줄에는 사대의 위치를 나타 내는 $M$ 개 www.codeup.kr 접근 방법 해당 문제에서는 사대(총을 쏘는 장소)들의 위치와 동물들의 위치가 주어졌을 때 특정 사정거리 내에서 잡을 수 있는 동물의 수를 요구하고 있다. 그래프 탐색을 이용해볼까? 처음 내가 생각했었던 방법은 동물들의 위치를 그래프에 나타낸 후 사대별로 그래프 탐색을 통해 사정 거리 내에 있는 동물들을 소거해가는 방식을 생각했었다. 하지만 문제에서 주어지는 사정거리의 최대치는 10억이라는 값으..

Algorithm/CodeUp 2022.07.09

[코드업 - 1484] 2차원 배열 달팽이 채우기 4-1 - Java

문제 설명 [기초-배열연습] 2차원 배열 달팽이 채우기 4-1 다음과 같은 n*m 배열 구조를 출력해보자. 입력이 3 4인 경우 다음과 같이 출력한다. 1 2 3 4 10 11 12 5 9 8 7 6 입력이 4 5인 경우는 다음과 같이 출력한다. 1 2 3 4 5 14 15 16 17 6 13 20 19 18 7 12 11 10 9 8 입력이 www.codeup.kr 접근 방법 해당 문제는 행렬(2차원 배열) 상 첫번째 위치(인덱스 0, 0)에서 중심 부근까지 시계방향으로 회전하면서 각각의 행렬 값을 1씩 증가시키는데, 이를 4개의 방향에 대한 규칙성을 정의함으로써 해결할 수 있었다. 이때 행렬을 채우는 각각의 숫자는 N(행의 개수) X M(열의 개수) 행렬을 기준으로 1부터 N+M까지이므로 1~N+M의..

Algorithm/CodeUp 2021.11.29