반응형
📌강의 정리
문제가 길다고 겁먹지말자
1이 들어오면 cnt를 ++하면 된다.
그리고 이것을 answer에다가 누적하면된다.
그러다 0을 만나면 cnt를 0으로 초기화하면된다.
이렇게 계속 누적되면 answer가 답이 된다.
포문 돌릴때 x of arr 쓸 수 있다면 쓰는게 편리하고 좋다.
📌느낀점
푸는 방법도 코드도 다 강사님과 내가 같았다.
문제는 길었지만 쉬웠다.
번뜩이는 아이디어가 중요하다.
코드에서 문제가 읽히게 하자.
//나의 코드
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(arr){
let answer=0, cnt=0;
for(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>
</body>
</html>
//강사님 코드
<html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<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>
</body>
</html>
반응형
'JS 알고리즘 문제풀이 > 섹션 2. 1, 2차원 배열 탐색' 카테고리의 다른 글
6.격자판 최대합 (0) | 2022.01.13 |
---|---|
5.등수구하기 (0) | 2022.01.12 |
3.가위바위보 (0) | 2022.01.12 |
2.보이는 학생 (0) | 2022.01.12 |
1.큰 수 출력하기 (0) | 2022.01.12 |