[lv.1] 덧칠하기 | 프로그래머스
[lv.1] 덧칠하기 | 프로그래머스
📋 [ 프로그래머스 ] 시리즈 몰아보기 (17)
✏️ (lv.1) : 덧칠하기
길이 n
미터인 벽이 있다. 벽의 페인트가 일부 벗겨져서 덧칠해야 하는데 최소한의 횟수로 벽을 칠하려고 한다. 롤러의 길이는 m
미터이고 벽을 n
개의 구역으로 나누어 덧칠해야 할 영역의 번호가 담긴 배열 section
이 주어졌을 때 덧칠 횟수를 return하는 solution을 작성하라.
- 롤러가 벽을 벗어나선 안되며 구역의 일부분만 포함되도록 칠해서도 안된다.
- 1 ≤
m
≤n
≤ 100,000 - 1 ≤
section
의 길이 ≤ nsection
은 오름차순으로 정렬되어 있다.
덧칠해야 할 영역이 true
, 그렇지 않은 영역이 false
인 길이 n
의 array를 선언한 후 해당 array를 순회하며 롤러의 길이 m
만큼 덧칠을 진행한다.
- array[i] ===
true
일 경우 현재 index(=i)에m-1
만큼 더하고 count를 증가시킨다.
1 | function solution(n, m, section) { |
2 | var answer = 0; |
3 | let wall = Array(n).fill().map((e, i) => { |
4 | if (section.includes(i+1)) { |
5 | return true |
6 | } |
7 | return false |
8 | }) |
9 | |
10 | for (let i=0; i<wall.length; i++) { |
11 | if (wall[i] === true) { |
12 | i += m-1; |
13 | answer++; |
14 | } |
15 | } |
16 | |
17 | return answer; |
18 | } |
# 프로그래머스
# JS
# javascript
# 코딩테스트
# 알고리즘
👨💻 관련 포스트
[lv.1] 개인정보 수집 유효기간
[lv.1] 개인정보 수집 유효기간
프로그래머스 lv.1 개인정보 수집 유효기간 풀이 with javascript. 해당 문제에서 한달은 28일로 고정이다. 따라서 today와 privacies 각 원소(개인정보)의 날짜를 년, 월, 일에 각 단위에 해당하는 수 * 28을 수행하여 일 단위로 변환한 후 terms에 해당하는 수를 더해 문제를 해결한다.
2023-05-30
[lv.1] 성격 유형 검사하기 | 프로그래머스
[lv.1] 성격 유형 검사하기 | 프로그래머스
프로그래머스 lv.1 성격 유형 검사하기 풀이 with javascript. javascript의 객체를 이용해 성격 유형(이하 MBTI)별 획득 점수를 기록하고 MBTI의 value를 비교해 문제를 해결한다.
2023-06-01
[lv.2] 주차 요금 계산 | 프로그래머스
[lv.2] 주차 요금 계산 | 프로그래머스
프로그래머스 lv.2 주차 요금 계산 풀이 with javascript. javascript의 객체를 이용해 차량의 입/출차 시간을 기록, 해당 객체를 순회하며 주차시간을 주어진 요금표에 맞게 정산하는 것으로 문제를 해결한다.
2023-06-04
💡 로그인 하지 않아도 댓글을 등록할 수 있습니다!