코딩 문제 풀이 1주차

정혜민·2022년 4월 17일
0

스터디

목록 보기
1/1
post-thumbnail

자바스크립트를 아직 찍어 맛보지도 못한 상태로 문제를 풀려니
남의 해석도 이해가 안 간다!!!!
그래도 눈으로 읽으면서 납득이 가는 문제들을 풀어보려고 한다.

문제1: 프로그래머스 lv.1 같은 숫자는 싫어

❗ 풀이

<script>
let solution=_=>_.filter((i,$)=>i!=_[--$])
</script>

도저히 모르겠어서 다른 사람의 풀이를 봤다..
내가 쓴 건 아니지만 감히 해석해보자면

filter() 함수는 특정 조건에 부합하는 배열의 모든 값을 배열 형태로 리턴한다는 뜻이다.
$ 기호는 document.getElementById () 함수의 바로 가기로 사용한다는 뜻이다.
_ 이는 개인 클래스 멤버를 즉시 식별 할 수 있는 빠르고 쉬운 방법이다.

연속적인 숫자를 제거한다는 조건에 부합하는 값을 배열로 리턴하는 filter 함수 잘 배워야지!

이해하는데 너무 오래 걸리는 날 보면서 일단
자바스크립트 기초문법 먼저 해야겠다는 생각이 들었다,,,

Number()

  • 문자열을 인자로 받으면 해당 문자열을 숫자로 바꿔준다.
    문자열이 숫자가 아닌 경우에는 NaN를 반환한다.
<script>
let a = '10.223456';

let b = parseInt(a); // 10 
let c = Number(a); // 10.223456
</script>

parseInt() 은 정수만 뽑아서 출력하고
number()은 전체값을 출력한다.

Array.reduce(콜백함수)

  • 배열에 있는 모든 요소들의 값을 누적하는 함께 모아놓을 때 쓰는 것 (평균값 구하기)

평균 구하기

<script>
const value = [1, 2, 3, 4, 5, 6];

    const average = values.reduce((acc, cur, i, { length }) => {
        return i === length - 1 ? (acc + cur) / length : acc + cur;
    }, 0)
    </script>
  • 마지막 순회이면 누적값으로 평균을 구해서 반환하고,
    마지막 순회가 아니면 누적값을 반환하고 계속 돌면서 누적을 했다가 마지막 순회에 평균을 구하는 방식이다.

뇌가 일을 열심히 효율적으로 하면 좋겠다....

profile
개발자으로의 첫걸음

0개의 댓글