[HackerRank] Flatland Space Stations

아르당·2023년 12월 6일
0

HackerRank

목록 보기
41/109
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

문제

Flatland는 여러 도시가 있는 국가이고, 그 중에는 우주 정거장이 있다. 도시는 연속해서 번호가 매겨지고 각 도시는 다음 도시와 1km 거리의 도로로 이어져 있다. 원형 루트로 되어있않아서 첫 번째와 마지막 도시는 연결되지 않는다. 어떤 도시에서 가장 가까운 우주정거장 까지의 최대 거리를 구해라.

Example

n = 3
c = [1]

n = 3개의 도시가 있고, 도시 1은 우주 정거장을 가지고 있다. 경로를 따라 연속적으로 나타난다. 도시 0은 1 - 0 = 1 거리에 있고, 도시 2는 2 - 1 = 1 거리에 있다. 도시 1은 가장 가까운 우주 정거장에서 0 거리만큼 떨어져 있다. 따라서 최대 거리는 1이다.

Function Description

flatlandSpaceStations 함수를 완성해라.
flatlandSpaceStations 함수는 아래와 같은 매개변수를 가지고 있다.

  • int n: 도시의 수
  • int c[m]: 우주 정거장을 갖고 있는 도시

Return

  • int: 도시와 우주 정거장 사이의 최대 거리

Constraints

  • 1 <= n <= 10^5
  • 1 <= m <= n
  • 최소 1개의 도시는 우주 정거장을 가지고 있다.
  • 한 개보다 많은 우주 정거장을 가진 도시는 없다.

전체 코드

static int flatlandSpaceStations(int n, int[] c) {
	Arrays.sort(c);

	int max = 0;

	for(int i = 0; i < n; i++){
		int distance = Math.abs(i - c[0]);

		if(c.length > 1){
			for(int j = 1; j < c.length; j++){
				distance = Math.min(distance, Math.abs(i - c[j]));
			}
		}

		max = Math.max(max, distance);
	}

	return max;
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글