https://programmers.co.kr/learn/courses/30/lessons/12979
코딩테스트 연습 - 기지국 설치
N개의 아파트가 일렬로 쭉 늘어서 있습니다. 이 중에서 일부 아파트 옥상에는 4g 기지국이 설치되어 있습니다. 기술이 발전해 5g 수요가 높아져 4g 기지국을 5g 기지국으로 바꾸려 합니다. 그런데 5
programmers.co.kr
저는 해당 문제를 구현을 통해서 문제를 해결하였습니다.
저는 1번 아파트와 각각 기지국, N번 아파트의 길이를 기지국의 커버 길이(2w + 1)를 나누고 모듈러 연산을 통해 각각의 사이에 몇 개의 기지국이 들어가야하는지를 구하였습니다.
class Solution {
public int solution(int n, int[] stations, int w) {
int answer = 0;
int prev = 1;
int divide = 2 * w + 1;
for(int i = 0 ; i <= stations.length ; i++){
int now = n + 1;
if(i != stations.length){
now = stations[i] - w;
}
if(now - prev > 0){
answer += (now - prev) / divide;
if( (now - prev) % divide != 0 ){
answer++;
}
}
prev = now + 2 * w + 1;
}
return answer;
}
}
'알고리즘' 카테고리의 다른 글
프로그래머스 점프와 순간 이동 (JAVA) (0) | 2022.06.04 |
---|---|
프로그래머스 스티커 모으기(2) (JAVA) (0) | 2022.06.03 |
프로그래머스 지형 이동 (JAVA) (0) | 2022.06.01 |
프로그래머스 n^2 배열 자르기 (JAVA) (0) | 2022.05.31 |
프로그래머스 빛의 경로 사이클 (JAVA) (0) | 2022.05.30 |