부트캠프 React 과정 6.19

김진우·2023년 6월 19일
0

오늘목표

  • 리액트 숙련주차 10강까지듣기(x)
  • 프로그래머스 1문제풀기(O)

오늘배운것
기존 업데이트방법:
setNumber(number + 1): 이 setNumber가 3개라도 배치성으로 처리가되서 배치업데이트가됨
한꺼번에 변경된 놈을 모아서 한번만 변경되기때문에 setNumber가 3번을 해도 setNumber를 한꺼번에 모으기때문에 한개로친다.

함수형 업데이트 방식 : 이명령들을모아서 각각 1번씩 실행된다.

             현재상태state          바뀐상태의 state

ex) setNumber ((currentNumber)=>{return currentNumber + 1;})
그래서 이것은 3개가있으면 한번 클릭에 3개가 업데이트된다.

  • 틸트 연산자 : 틸트연산자 ~~ 을쓰면 Math.floor를 생략하고 쓸수있다.
    ex) console.log(~~.num)

어려운것

  • 오늘 프로그래머스 문제 하나를 풀었는데 오랜시간이 걸렸다.
    머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수를 return 하도록 solution 함수를 완성해보세요.

이문제였는데 처음엔 3에 나머지가 0 이면 카운트를 ++ 해주도록 로직을짯지만 1글자 가넘어가면
읽어 내지못하였다. 그래서 고민중 문자열을 배열로 묶었서 filter로 조건식을 정해 걸러 서
조건식을 만족하면 count를 ++ 해주는 방식으로 풀어냈다.
근데 처음에 3에 나머지가 0이면 만족하는 식만 썩는데 해결이 안되었는데 0이 아닌 숫자를 고려하지 못해서 해결을 못하였던거였습니다. 결국

``

function solution(order) {
let arr = Array.from(String(order));
let count =0;
arr.filter((item)=>{
if(item !=0 && item % 3 ===0){
count ++
}
})
return count
}
``

이렇게 로직을 완성 하였다. 문자열을 배열로 묶는 Array.from()을 알고 있어야 쉽게 풀수있는 문제였는데 까먹지 않고 잘 기억해야 겠다.

느낀점

  • 리엑트 숙력주차에 돌입해서 강의를 들었는데 정말 어려웠다.
    입문 주차와는 먼가 다르고 아직 익숙하지가 않아서 그런지 햇갈리는것이 많이 있었고
    개념적인 부분을 빨리 숙지하도록 노력해야 겠다고 생각을 많이 했습니다.
    오늘 목표한 절반은 들을려고 했으나 중간중간에 멈추고 한번 리마인드하고 코드도 다시 작성해보고
    하느라 강의 듣는 시간이 너무 느렷다고 생각을 했고 처음 듣는거라 어렵지만 최대한 빨리듣고
    개인 과제도 완료 해야겠다고 생각을 했습니다.

0개의 댓글