반응형
오늘은 체육복 문제를 풀어보겠습니다.
문제는 다음과 같습니다.
https://programmers.co.kr/learn/courses/30/lessons/42862
* 풀이 방법
- 전체 사람이 체육복을 가지고 있다고 초기화를 해줍니다.
- 잃어버린 사람의 체육복은 0 빌려줄 수 있는 체육복은 2로 세팅합니다
- 그리고 잃어버린 사람이면서 옆에 빌려줄 수 있는지를 체크하면 됩니다.
* 코드
function solution(n, lost, reserve) {
const array = Array(n).fill(1);
for(let i = 0; i < lost.length; i++) {
array[lost[i]-1]--;
}
for(let i = 0; i < reserve.length; i++) {
array[reserve[i]-1]++;
}
for(let i = 0; i < array.length; i++) {
if(array[i] === 0) {
if(array[i-1] === 2) {
array[i-1]--;
array[i]++;
}
else if(array[i+1] === 2) {
array[i+1]--;
array[i]++;
}
}
}
return array.filter(v => v >= 1).length;
}
반응형
'알고리즘' 카테고리의 다른 글
프로그래머스 level2 - 프린터(javascript) (0) | 2021.08.21 |
---|---|
두 개 뽑아서 더하기 (프로그래머스 level1 월간 챌린지 시즌1) (0) | 2021.08.20 |
프로그래머스 타겟 넘버 - level2(dfs) (0) | 2021.08.11 |
프로그래머스 키패드 누르기 - 카카오 인턴십 (0) | 2021.08.10 |
프로그래머스 - 문자열 내 마음대로 정렬하기 (0) | 2021.08.10 |