오늘목표
오늘배운것
기존 업데이트방법:
setNumber(number + 1): 이 setNumber가 3개라도 배치성으로 처리가되서 배치업데이트가됨
한꺼번에 변경된 놈을 모아서 한번만 변경되기때문에 setNumber가 3번을 해도 setNumber를 한꺼번에 모으기때문에 한개로친다.
함수형 업데이트 방식 : 이명령들을모아서 각각 1번씩 실행된다.
현재상태state 바뀐상태의 state
ex) setNumber ((currentNumber)=>{return currentNumber + 1;})
그래서 이것은 3개가있으면 한번 클릭에 3개가 업데이트된다.
어려운것
머쓱이는 친구들과 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()을 알고 있어야 쉽게 풀수있는 문제였는데 까먹지 않고 잘 기억해야 겠다.
느낀점