반응형
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/12979
2. 코드
처음엔 아파트 길이만큼의 배열 만들어주고 0,1 비교해주는 식으로 했는데.. 코드도 꼬이고 해결도 못했다.
이렇게 간단한 코드로 해결 가능하다니...ㅠㅠ
function(n, stations, w) => {
let answer = 0;
// 기지국 번호가 1부터 시작하니 start는 1, 인덱스는 0부터 시작
let index = 0; // stations내 요소들 가리키는 inx
let start = 1; // 아파트 번호
while(start <= n){
// 현재 start가 stations[index] + w, stations[index] - w 사이의 값이라면
// 기지국을 설치할 필요가 없기 때문에 index와 start를 갱신하여 넘어감
if(start >= stations[index] - w && start <= stations[index] + w){
// 전파 도달 마지노선 아파트로 start 재할당. 그 다음 아파트 비교하기 위함.
start = stations[index] + w;
// 다음 기지국 설치 아파트 번호로 넘어가서 범위 비교할 수 있도록 +1
index++;
} else{
// 기지국을 설치해야 하기 때문에 answer+1과 start + 2 * w
// 새로 기지국 설치 후, 전파 도달 마지노선 아파트로 start 옮기기
start += 2 * w;
answer++;
}
// 다음 아파트 비교할 수 있도록 +1
start++;
}
return answer;
}
반응형
'프로그래머스 > 구현' 카테고리의 다른 글
[구현] 프로그래머스 '삼각 달팽이' - js (0) | 2023.05.02 |
---|---|
[재귀] 프로그래머스 '쿼드압축 후 개수' - js (0) | 2023.04.29 |
[구현] 프로그래머스 '숫자 게임' - js (0) | 2023.04.25 |
[구현] 프로그래머스 '2개 이하로 다른 비트' - js (0) | 2023.04.24 |
[구현] 프로그래머스 '뒤에 있는 큰 수 찾기' - js (1) | 2023.04.20 |