| 에러 발생 과정 처음으로 프로젝트를 배포해보려는데 두둥!! 에러가 발생하고 말았다 ... 현재 사용하고 있는 카카오 API_KEY 를 파일로 따로 관리하고 .gitignore에 추가해놨었는데 Netlify는 github에 올라가 있는 레파지토리를 바탕으로 빌드되기 때문에 github에 없는 API_KEY 파일을 읽을 수 없어서 에러가 발생한 것😭 나중에 이런 경우가 발생했을 때 참고하기 위해 포스팅을 해두려한다! | 에러 코드 Module not found: Error: Can't resolve './API_KEY' in '/opt/build/repo/src/utils' | 에러 해결 방법 🪄 .env 파일 사용하기 .env 파일이란? 환경 변수를 선언할 수 있는 파일로 포트, DB 관련 정보, AP..
| 제출 function solution(n, arr1, arr2) { let newArr = []; for (let i = 0; i item .padStart(n, 0) .split("") .map((num) => (num === "1" ? "#" : " ")) .join("") ); } | 풀이과정 비트 OR 연산자( | )는 대응되는 비트 중에서 하나라도 1이면 1을 반환한다. 현재 두 그림을 더했을 때 벽인 부분은 전체 지도에서도 벽이되고, 모두 공백인 부분만 전체 지도에서 공백이다. 벽은 1, 공백은 0으로 표현되기 때문에 주어진 두 배열을..
| 제출 function solution(sizes) { let maxSize = [0, 0]; sizes.map(([w, h]) => w { if(w > maxSize[0]) maxSize[0] = w if(h > maxSize[1]) maxSize[1] = h }); return maxSize[0] * maxSize[1]; } | 풀이과정 가로, 세로 길이가 크기 상관없이 주어졌기 때문에 정렬을 해주어야 한다. sizes.map((item) => itme.sort((a, b) => a - b)); map 메서드 안에서 sort 메서드를 사용하여 정렬해주어도 되지만, if 문으로 비교하는 것이 더 속도가 빠르다. 현재 요소인..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(a, b) { return a.reduce((acc, val, i) => acc + val * b[i], 0); } | 풀이과정 음양더하기 문제와 동일하게 reduce를 사용해서 풀면 되는 간단한 문제이다. [프로그래머스] 음양 더하기 - level 1 (javascript) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.k..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(numbers) { let scope = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; return scope.filter((num) => numbers.indexOf(num) === -1).reduce((acc, val) => acc + val); } | 풀이과정 filter 메서드로 scope 배열에서 numbers 배열에 없는 숫자들을 필터링한다. 그리고 해당 수들을 reduce를 사용하여 더해주면 된다. 다른 사람 풀이 function solution..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(absolutes, signs) { return absolutes.reduce((acc, val, index) => acc + (val * (signs[index] ? 1 : -1)), 0); } | 풀이과정 reduce 함수는 처리할 요소의 인덱스를 인자로 가지고 있다. absolutes[0]의 부호는 signs[0]에, absolutes[1]의 부호는 signs[1]에 담겨져 있으므로 absolutes의 배열 요소와 해당하는 인덱스를 가지고 있는 signs 요소를 ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(left, right) { let sum = 0; for(let i = left; i
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(array, commands) { const answer = []; for (let i = 0; i a - b)[k - 1]); } return answer; } | 풀이과정 입력받은 commands를 구조분해할당으로 begin, end, k에 값을 할당한다. ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(n) { return parseInt(n.toString(3).split("").reverse().join(""), 3); } | 풀이과정 toString 메서드를 사용하면 입력값을 3진법으로 변환할 수 있다. 변환한 3진법을 뒤집어서 parseInt 메서드로 3진법을 10진법으로 반환한다. 그 외 방법 1 ) 메서드 없이 풀기 function solution(n) { let result = ""; let rest = n % 3; let temp = parseInt(n..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr | 제출 function solution(n) { for (let i = 2; i < n; i++) { if (n % i === 1) return i; } } | 풀이과정 1로 나누면 나머지는 항상 0이기 때문에 2부터 나눠준다.