전체 글

[풀이] function solution(n, m) { const gcd = (a, b) => (a % b === 0 ? b : gcd(b, a % b)); const lcm = (a, b) => (a * b) / gcd(a, b); return [gcd(n, m), lcm(n, m)]; } 1. 이 문제는 유클리드 호제법으로 풀어야한다. (나는 중첩 함수를 이용해 풀었다.) [유클리드 호제법] 유클리드 호제법은 주어진 두 수 사이에 존재하는 최대공약수(GCD)를 구하는 알고리즘이다. - 임의의 두 자연수 a, b가 있을 때 (둘 중 큰 값이 a라고 가정) - a 를 b 로 나눈 나머지를 r 이라고 하면 (a % b = r) - r이 0일 때, b가 최대공약수(GCD)이다. - 만약 n이 0이 아니라면 ..
[풀이] function solution(left, right) { let result = 0; for (let i = left; i
Array에는 map()이나 filter(), join() 등의 메소드가 있다. 이 기능은 모두 reduce로도 구현이 된다. 또한 initialValue에 배열이나 객체를 주면 전역으로 객체변수를 하나 만드는 효과를 낼 수 있다. reduce() 배열의 왼쪽부터 콜백 함수를 실행 후 누산한다. 배열.reduce(function(acc, cur, index, arr){ }[, initialValue]) 1. 누산기 accumulator (acc) 2. 현재값 (cur) 3. 현재 인덱스 (index) 4. 원본 배열 (arr) 5. initialValue(optional: 사용해도 되고 안해도 됨) : callback의 최초 호출에서 첫 번째 인수에 제공하는 값이며 초기값을 제공하지 않으면 배열의 첫 번..
[풀이] function solution(arr1, arr2) { let result = [[]]; for (let i = 0; i < arr1.length; i++) { result[i] = []; for (let j = 0; j < arr1[i].length; j++) { result[i].push(arr1[i][j] + arr2[i][j]); } } return result; } 1. 이중배열 변수 result 를 선언한다. 2. 이중 for문을 통해서 값을 받아왔다. - 안쪽 for문 result[i]에 행렬의 덧셈을 넣어주면 된다. [코드 리뷰] function solution(arr1, arr2) { const result = []; for (let i = 0; i < arr1.length; ..
[풀이] function solution(a, b) { let result = 0; for (let i = 0; i (acc += cur * b[idx]..
[풀이] function solution(n) { let result = 0; for (let i = 1; i
[처음 풀이] function solution(n) { const nArr = n.toString().split(""); let sum = ""; let result = 0; for (let i = 0; i < n.length; i++) { sum += nArr[i]; result = Number(sum); } return result; } 계속 답이 0이 나온다. 그래서 풀이를 바꿈 function solution(n) { let result = 0; n = n.toString(); for (let i = 0; i < n.length; i++) { result += parseInt(n[i]); } return result; } 굳이 배열로 받을 필요 없이 문자열에서 바로 str[i]를 통해 뽑는게 더 ..
[풀이] function solution(a, b) { const days = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]; const date = new Date(); date.setFullYear(2016, a - 1, b); const result = days[date.getDay()]; return result; } 1. 먼저 days 변수를 만들고 요일을 배열 안에 넣어준다. 2. new Date()를 이용해 2016년 a월 b일을 설정해준다. 3. 이때 자바스크립트에서 월은 (현재 월 -1)을 해줘야한다. (예시 : 2월은 자바스크립트에서 1임) 4. 마지막으로 배열에서 그 날의 요일을 받아온다. [코드 리뷰] function solution(a, ..
자바스크립트에는 다양한 문자열 비교 방법이 있다. 동등연산자로 문자열이 동등한지 비교하거나 문자열의 크기를 비교할 수 있다. 1. 동등 연산자 (==, ===)로 문자열 비교 두 개의 문자열이 같은지 다른지 확인할 때 사용한다. 두 문자열이 같으면 'true' 다르면 'false' 리턴한다. const str1 = 'hello'; const str2 = 'hello'; const str3 = 'world'; console.log(str1 === str2); // true console.log(str1 === str3); // false console.log(str2 === str3); // false console.log(str1 == str2); // true console.log(str1 == str..
[풀이] function solution(num) { if (num % 2 === 0) return "Even"; else { return "Odd"; } } 2로 나누었을 때 나머지가 0 이면 짝수이고 그렇지 않으면 홀수이다. [코드리뷰] function solution(num) { if (num % 2 === 0) return "Even"; return "Odd"; } 밑에 else 문은 불필요한 블록이다. 위에 if 문에서 return 이 있기 때문에 아래 else 블록은 없어도 된다. 불필요한 블록을 추가하는 건 가독성면에서 좋지않다.
hayeonn
Always Do it