간만에 머리도 풀어볼 겸, 프로그래머스에서 알고리즘 문제를 풀어봤다. lv1은 쉽게 풀었지만, 2에서는 효율성에서 실패가 떴고 푸는데 조금 고민을 하게 되어 정리를 해보고자 한다. 문제 링크는 다음과 같다. https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(land) { var answer = 0; const depth = land.length; const width = land[0].length; //이중배열 ..
js
주어진 정수 num에 대해 결과가 한 자릿수만 남을 때까지 반복해서 모든 자릿수를 더하고 그 값을 반환하는 문제이다. 아래처럼 간단히 재귀로 풀었다. var addDigits = function(num) { const numArray = num.toString().split("").map(str => Number(str)); if(numArray.length === 1){ return numArray[0] }else{ return addDigits(numArray.reduce((acc, cur) => acc + cur)) } }; 다른 사람들 풀이를 보니 아래처럼 기발하게 푸는 방법도 있었다. var addDigits = function(num) { return 1 + (num - 1) % 9; };
💡 자바스크립트를 이용하여, 직접 날짜와 시간을 계산하는 코드를 짤 수도 있지만 보다 편리하게 dayjs를 이용하여 날짜에 대한 처리를 하는 방법에 대해 정리해보자. WHY dayjs? 사실, Moment.js라는 날짜와 관련된 유명한 라이브러리가 있음에도 왜 요즘 다들 dayjs를 쓰는 걸까? 1. moment.js의 API형식은 그대로유지 2. 용량은 33배 가볍다 즉, 성능은 거의 차이가 나지 않지만 훨씬 가볍다! How to use [설치] npm i dayjs 명령어를 통해, 설치 import하기 참고링크: https://github.com/iamkun/dayjs/issues/475 //처음에는 아래와 같은 방식을 사용했지만, import가 되지 않았다. //js파일에서는 정상적으로 import..