250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(프로그래머스 JS)덧칠하기 본문
728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/161989
문제를 단순하게 접근하면 된다.
section에 있는 범위만 덧칠하면 되기 때문에 greedy하게 접근한다.
우선 start 변수를 선언하여 section의 마지막 원소를 가져온다.
한번 덧칠하는 단계이기 때문에 answer = 1이며, 이 start에서 m 만큼 이동한다.
while문으로 section을 비울 때까지 반복
현재 위치를 section.pop()을 이용해 가져오며,
만약 current가 start보다 크다면 이미 덧칠한 부분이기 때문에 continue로 넘어간다.
그렇지 않다면 덧칠을 current에서 시작해야 하며, 이 위치에서 m 만큼을 덧칠한다.
그리고 answer++을 하여 카운팅.
답을 리턴하면 된다.
function solution(n, m, section) {
let answer = 1;
let start = section.pop();
start -= m;
while(section.length) {
const current = section.pop();
if(current > start) {
continue;
}
start = current - m;
answer++;
}
return answer;
}
728x90
반응형
'프로그래머스 알고리즘 > 2단계' 카테고리의 다른 글
(프로그래머스 KAKAO JS)택배 배달과 수거하기 (0) | 2023.02.21 |
---|---|
(프로그래머스 JS)빛의 경로 사이클 (0) | 2022.04.01 |
(프로그래머스 JS)쿼드압축 후 개수 세기 (0) | 2022.03.30 |
(프로그래머스 JS)방문 길이 (0) | 2022.03.14 |
(프로그래머스 JS)배달 (0) | 2021.10.30 |