나의 풀이
방법1)
function solution(arr) {
let num = 0;
for (let i = 0; i < arr.length; i++) {
if (arr[i] == arr[i + 1]) {
num = num + i
} else if (arr[i] == 0) {
num = num + 0;
} else {
}
console.log(num)
}
return num;
}
let arr = [1, 0, 1, 1, 1, 0, 0, 1, 1, 0];
console.log(solution(arr));
방법2)
function solution(arr) {
let num = 0;
for (let i = 0; i < arr.length; i++) {
if (arr[i] != 0) {
num = num + i
} else if (arr[i] == 0) {
num = num + 0;
} else {
}
// console.log(num)
}
return num;
}
let arr = [1, 0, 1, 1, 1, 0, 0, 1, 1, 0];
console.log(solution(arr));
해설지 정답
<script>
function solution(arr){
let answer=0, cnt=0;
for(let x of arr){
if(x===1){
cnt++;
answer+=cnt;
}
else cnt=0;
}
return answer;
}
let arr=[1, 0, 1, 1, 1, 0, 0, 1, 1, 0];
console.log(solution(arr));
</script>
해설은 위처럼 풀었다. 나는 좀 더 어렵게 푼것같기도하고 그냥 x를 1로 놓고풀면 되는게 핵심인것같다.
'코딩테스트 > JavaScript' 카테고리의 다른 글
[코딩테스트] 격자판 최대합 (2) | 2023.12.22 |
---|---|
[코딩테스트] 등수구하기 (0) | 2023.12.20 |
[코딩테스트] 가위 바위 보 (2) | 2023.12.19 |
[코딩테스트] 보이는 학생 (0) | 2023.12.18 |
[코딩테스트] 가운데 문자 출력 (0) | 2023.12.16 |