알고리즘 문제 풀기(프로그래머스)
https://github.com/hoinlee-moi/Algorithm
JS기본문법 다시 공부
https://github.com/hoinlee-moi/ModernJS
React 강의 듣기
https://github.com/hoinlee-moi/React_prac
공부는 계속해서 쉬는 날 없이 꾹꾹 채워 넣어 진행했다.
연말 신년이라 가게가 너무 바빠서 이것만 끝내고 자야지라는 일념으로 공부를 후딱 끝내고 잠들어서 기록을 벨로그에다 하지는 못했다...
다만 github에는 다 제대로 올렸고! 알고리즘 같은 경우 커밋 푸쉬 할 때 미리 안쪽 코드 주석으로 작성을 전부 해놨다!
알고리즘
N개의 최소공배수 - https://school.programmers.co.kr/learn/courses/30/lessons/12953
이건 그냥 수학적 공식을 좀 참고하여 풀었더니 금방 풀렸다.
function solution(arr) {
return arr.reduce((acc,cur)=>{
return lcm(acc,cur)
});
}
const lcm = (num1,num2) => {
let gcd = 0
for(let i=Math.max(num1,num2);i>0;i--){
if(num1%i===0 && num2%i===0){
gcd = i
break;
}
}
return (num1*num2)/gcd
}
return
하게 한다.reduce
를 사용하여 acc
,cur
두 수를 이용한 최소 공배수를 구하고 그 다음 수와의 최소공배수를 구하는 식으로 나아가 배열들의 최소공배수를 구한다. 아마 아래 최대 공약수를 구하는 공식에서 좀 더 쉽게 다룰 수 있을 것 같다. 예를 들면 저번에 제곱근을 이용하여 약수를 구하는 방식으로 적은 연산을 통해 최대값을 찾을 수 있을 것 같다.
React
동적 스타일링
간단하게만 집고 넘어갈 것이지만 html
에서 똑같이 css
파일을 통해 className
을 지정하여 넣을 수 있지만 동적인 값을 넣기 위해선 JSX
코드를 반환할 때!
style
프롭을 통해 {}
를 이용하여 동적인 css
코드를 넣을 수 있다.
다만 이 때 조심해야 할 것은 background-color
와 같은 중간에 -
같은 대시보드가 있을 경우 제대로 읽지 못하기 때문에 ""
을 이용하여 "background-color"
이렇게 감싸던가
backgroundColor
처럼 카멜케이스를 이용하면 해결 된다!