20240213 멘토링

jjj·2024년 2월 13일
0

메모

목록 보기
4/20

https://docs.google.com/spreadsheets/d/1GKV8wXXq79JdZq290uNekWcPyT-DsQIjg7vxVGpzPKo/edit#gid=557167890

프로그래머스 1~9번 리뷰.

1번 짝수와 홀수
console.time
console.time('이름')'
console.timeEnd('이름');
현업에서 많이 씀. 같은 기능인데 얼마나 걸릴지 비교할 때 사용.

  1. 배열 arr 평균값 구하기
    forEach
    reduce()
    reduce함수 사용하면 더 깔끔해 보일 수 있다.

  2. 자릿수 더하기

    1. 문자열로 변환 후 for문 사용.
    2. 1의 자릿수 10의 자릿수 따로 나누어서 구하기.
  1. 약수의 합
    범위를 줄이는 법 한 번 더 생각해보기.
    for문 돌릴 때 n의 범위를 n/2 로 생각해볼 수 있다.
    prime number
    <= n
    <= sqrt(n)
    소수의 경우 => 에레토스테네스의 체

  2. 나머지가 1이 되는 수 찾기
    n이 홀수일 때, 짝수일 때 나누어서 생각해보기. => 계산 속도가 조금 더 빨라질 수 있다.

  3. x만큼 간격이 있는 n개의 숫자
    for문 돌려서 push(x * i)로 했는데
    for문 조건식 때 ++i말고 여기에 식을 넣어도 된다. ++i에 익숙해져있어서 변경 가능하다는 것을 잊지 말자!

  4. 자연수 뒤집어 배열로 만들기
    for문 사용해도 되지만 for each도 사용할 수 있다.
    그리고 앞의 경우 처럼 1의자리, 10의 자리 나누어서 계산했던 것처럼 써도 된다. 얼마나 걸리는지 성능 검사해보자.
    reduce() 함수도 사용할 수 있을 것 같다.

  5. 문자열을 정수로 만들기
    return s/1 (이런 경우 js만 가능한 경우. 웬만하면 사용 안하는 것이 좋다.)
    return +s == return Number(s)
    +가 Number()의 역할을 할 수 있다.
    초간단!

  6. 정수 제곱근 판별
    알고리즘 문제 풀 때 Math()(.sqrt()) 를 사용이 안될 때가 있다.
    될지 모르겠지만 ** 이것도 방법이 있음!

0개의 댓글

관련 채용 정보