// 내가 푼 풀이
if(angle < 90) {
return 1
} else if (angle === 90 ){
return 2
} else if (angle < 180) {
return 3
} else if (angle === 180) {
return 4
}
arr.filter((item,index,arr) => ( // 세 요소를 얻을 수 있다 1. item : 요소들 2. index : ))
내가 푼 풀이 let num =0; for(i=0; i < numbers.length; i++) { num += numbers[i] } return num / numbers.length; => 아직 for문에서 벗어나지 못하는 나란 녀석,,ㅎ
= for문으로 풀었을 때 걸리는 시간
=reduce메서드로 풀었을 때 걸리는 시간
약 2배차이..!
arr.reduce((acc,cur,index,arr) => (
1. 누적값 (맨 처음에는 초기값)
2. 현재 배열의 값
3. 인덱스
4. 배열 그 잡채
))
내가 푼 풀이 function solution(array, n) { return array.filter((item) => (item === n)).length }
filter 메서드 써먹어봄ㅎㅎ
이 문제의 key point는 n을 나눌 때 n이상의 수로 n을 나눌 수 없다는 것!
즉, n = 10 이면 11로 10을 나눌 수 없다. 23로 10을 나눌 수 없다.
1. n 이하의 수로만 n을 나눌 수 있기 때문에 for문으로 n이하의 수를 찾아주고
2. n을 i로 반복해서 나눠준 다음
3. 제일 작은 1을 반환하는 것을 return해 주었다.내가 푼 풀이 function solution(n) { for(i=1; i < n; i++) { if(n % i === 1) { return i; } } }
조금..뿌듯..헤헤