반응형
저번 Python, C++, Go Code에 이어서 이번에는 JS로 풀어보려고 한다.
2022.08.10 - [Coding Test/Python] - [프로그래머스] 체육복 Python Code
2022.08.11 - [Coding Test/C++] - [프로그래머스] 체육복 C++ Code
2022.08.10 - [Coding Test/Go] - [프로그래머스] 체육복 Go Code
먼저 문제를 보겠다.
문제
앞의 포스트에서 작성한 것과 같이 똑같이 이해할 수 있다.
체육복을 도난당한 학생들이 자신의 바로 앞, 뒤 번호인 학생의 체육복을 빌려서
체육수업을 들을 수 있는 학생 수의 최댓값을 리턴하면 된다.
구현 방법
이전 포스트의 C++, Go와 똑같이 구현해보았다.
먼저 student object를 만들고
lost와 reserve를 각각 돌며 학생 object를 초기화했다.
옷이 없는 학생은 -1, 여벌이 있는 학생은 +1을 해주었다.
그 후 lost를 돌며 앞뒤 학생을 확인하고 빌려주는 처리(양쪽을 0으로 초기화)를 했다.
코드를 보겠다.
Code
function solution(n, lost, reserve) {
const students = {};
let answer = 0;
for(let i = 1; i <= n; i++){
students[i] = 0;
}
lost.forEach(number => students[number] -= 1);
reserve.forEach(number => students[number] += 1);
for(let i = 1; i <= n; i++){
if(students[i] == -1){
if(students[i-1] == 1){
students[i-1] = 0;
students[i] = 0;
} else if(students[i+1] == 1){
students[i+1] = 0;
students[i] = 0;
}
}
}
for(let i = 1; i <= n; i++){
if(students[i] != -1){
answer++;
}
}
return answer;
}
이렇게 JavaScript로 풀어보았다.
Python, Go, C++로 된 풀이도 있으니
궁금하다면 포스트 상단의 링크로 확인하면 좋을 것 같다.
반응형
'Coding Test > JavaScript' 카테고리의 다른 글
[프로그래머스] 약수의 개수와 덧셈 JavaScript Code (0) | 2022.08.17 |
---|---|
[프로그래머스] K번째수 JavaScript Code (4) | 2022.08.16 |
[프로그래머스] 예산 JavaScript Code (0) | 2022.08.10 |
[프로그래머스] 없는 숫자 더하기 JavaScript Code (2) | 2022.08.08 |
[프로그래머스] 소수 만들기 JavaScript Code (4) | 2022.08.04 |
댓글