2022_01_12
오늘 배운 내용은 API관련이었다. 이는 따로 포스팅을 하였기에 TLI에 따로 기입하지 않고 링크를 남긴다.
[API]https://velog.io/@binheart/Rest-vs-GraphQL
⚙︎ Today Coding
배열의 최소공배수를 구하는 알고리즘을 구현했다.아래는 하루종일 고민해서 짠 함수이다.
function aaa (x, y) {
let a = x, b = y, num = 0, gcd = 0
while(1) {
if(a%b !== 0){
num = a
a = b
b = num%b
} else {
gcd = b
break;
}
}
return (x*y)/gcd
}
function solution(arr) {
let lcm = 0, i =2, arr0 = arr[0], arr1 = arr[1]
let answer = 0
if(arr.length === 1) {
answer = arr[0]
} else {
if(arr0 < arr1) {
lcm = aaa(arr1, arr0)
} else {
lcm = aaa(arr0,arr1)
} answer = lcm
for(i; i < arr.length; i++) {
if(arr[i] > lcm) {
lcm = aaa(arr[i], lcm)
} else {
lcm = aaa(lcm, arr[i])
}
}
answer = lcm
}
return answer;
}
고민하며 코딩하고나니 줄수가 49줄정도 나왔다. 다 풀고 나서 다른사람의 코드를 보았는데 딱 6줄 있었다.
function nlcm(num) {
return num.reduce((a,b) => a*b / gcd(a,b))
}
function gcd(a, b) {
return a % b ? gcd(b, a%b) : b
}
이렇게 짧게가능한거였다니.. 성취감과 함께 허탈함이오는 하루였다.
Author And Source
이 문제에 관하여(2022_01_12), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@binheart/20220112-das0l2q4저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)