프로그래머스 1~9번 리뷰.
1번 짝수와 홀수
console.time
console.time('이름')'
console.timeEnd('이름');
현업에서 많이 씀. 같은 기능인데 얼마나 걸릴지 비교할 때 사용.
배열 arr 평균값 구하기
forEach
reduce()
reduce함수 사용하면 더 깔끔해 보일 수 있다.
자릿수 더하기
약수의 합
범위를 줄이는 법 한 번 더 생각해보기.
for문 돌릴 때 n의 범위를 n/2 로 생각해볼 수 있다.
prime number
<= n
<= sqrt(n)
소수의 경우 => 에레토스테네스의 체
나머지가 1이 되는 수 찾기
n이 홀수일 때, 짝수일 때 나누어서 생각해보기. => 계산 속도가 조금 더 빨라질 수 있다.
x만큼 간격이 있는 n개의 숫자
for문 돌려서 push(x * i)로 했는데
for문 조건식 때 ++i말고 여기에 식을 넣어도 된다. ++i에 익숙해져있어서 변경 가능하다는 것을 잊지 말자!
자연수 뒤집어 배열로 만들기
for문 사용해도 되지만 for each도 사용할 수 있다.
그리고 앞의 경우 처럼 1의자리, 10의 자리 나누어서 계산했던 것처럼 써도 된다. 얼마나 걸리는지 성능 검사해보자.
reduce() 함수도 사용할 수 있을 것 같다.
문자열을 정수로 만들기
return s/1 (이런 경우 js만 가능한 경우. 웬만하면 사용 안하는 것이 좋다.)
return +s == return Number(s)
+가 Number()의 역할을 할 수 있다.
초간단!
정수 제곱근 판별
알고리즘 문제 풀 때 Math()(.sqrt()) 를 사용이 안될 때가 있다.
될지 모르겠지만 ** 이것도 방법이 있음!