일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 프로그래머스
- Nodejs
- 조건문
- mongoose
- wil
- npm
- 항해99
- Load Balancer
- JWT
- 타입스크립트
- elb
- java
- Joi
- AWS
- 생활코딩
- mongodb
- https
- reduce
- 메소드
- Node.js
- 노마드코더
- CORS
- 자바스크립트
- nomadcoder
- ubuntu
- it
- JavaScript
- TypeScript
- MYSQL
- nginx
- Today
- Total
목록자바스크립트 (12)
V-logue
다사 다난 했던, 2주차가 끝났다. 저번주 금 ~ 이번주 목까지 이어진 알고리즘 마라톤은 기본적인 자바스크립트의 문법들을 이해하는데 좋은 도움이 됐다. reduce, map, filter, 삼항연산자 등등 다양한 메서드들을 사용해보고 이를 토대로 문제들을 해결함으로 자바스크립트의 문법들에 대해서 더 깊은 이해를 할 수 있던 시간이었다. 28개의 문제를 모두 풀었다는 것에 적당히 고무적인 생각이 든건 덤이다. 한가지 아쉬웠던 건 마지막 알고리즘 시험에서 문제를 제대로 읽지 않아 쉽게 풀 수 있던걸 틀렸다는 것이다. function solution(n){ let sum = []; let x = n.toString().split('').map(Number).sort().reverse(); // sort를 빼면..
Error: listen EADDRINUSE: address already in use :::3000 at Server.setupListenHandle [as _listen2] (net.js:1318:16) at listenInCluster (net.js:1366:12) at Server.listen (net.js:1452:7) node로 xxx.js 파일을 실행시키다 보면, 위와 같은 에러가 발생할 때가 있다. 위 에러는 이미 다른 프로그램이 해당 포트를 사용중일 때 발생할 확률이 높다. 그렇다면 해당 포트를 사용중인 js파일을 중지시키거나, 내가 사용하려는 js파일의 포트번호를 4000으로 바꾸는 등으로 해결할 수 있다.
JavaScript의 자료형과 JavaScript만의 특성 느슨한 타입 자바 스크립트는 느슨한 타입의 언어이다. 느슨한 타입의 언어라면 이해가 잘 안가는 사람이 있을텐데, 예를 들어본다면 강력한 타입의 언어와 비교를 들 수 있다. var a = 11; var b = "ELEVEN" // javascript Example int a = 11; string b = "ELEVEN" // java Example 위의 예시를 보면, 자바스크립트는 변수를 단순히 타입과 상관없이 var라고 주었지만 자바는 11은 정수를 표현할 때 사용하는 int를 ELEVEN은 문자를 표현할 때 사용하는 string으로 사용되었다. 자바스크립트의 변수는 타입을 가지고 있지만, 내부적으로 정해지는 것일 뿐이다. 1 + 1 + 1; =..
에.. 대충 어떤 문제냐면, 이런 문제다. function solution(x) { var arr = (x+"").split("").map(Number) for (let i=0; i acc+cur) === 0) { return true } else if (parseInt(x) % arr.reduce((acc , cur) => acc+cur) !== 0){ return false } } 이전에 사용했던 reduce함수를 다시 사용하면 되는데, 하샤드 수가 18이라고 치면 1+8 =9고 18 % 2 === 0 이 되야하기 때문에, 일단 18이라는 수를 나눠줄 필요가 있다. (x+"").split(..
function solution(n) { var answer = (n+'').split('').map(Number).reverse() return answer } 귀찮으니 간단하게 설명하자면 , (n+"")로 n을 문자열로 만들고 // .split("")으로 문자열이 된 n을 배열화 시켜준 뒤 .map(Number) 문자열이 된 배열의 요소들을 다시 숫자로 바꿔주고 배열의 순서를 reverse( )시켜주면 된다. 문제를 푸는데 도움을 주신 https://programmerpsk.tistory.com/128 문자열을 숫자 배열로 쉽게 바꾸기 가끔 ajax 통신을 하면 데이터 양이 너무 커서 스트링으로 변환해서 보낼때가 있다. 서버에서는 받아온 데이터를 다시 배열로 바꾸어줘야 하는데 그때 주로 사용하는 함수..
function solution(n) { var answer = (n % Math.sqrt([n]) === 0 ? (Math.sqrt([n]) + 1) * (Math.sqrt([n]) + 1) : -1 ) return answer; } x 값의 제곱인 n에 루트를 씌우는 함수인 Math.sqrt를 사용해 x값으로 만들어주고 n % x의 나머지가 0 이라면 x * x인 선택문1과 그게 아니라면 -1인 선택문 2를 만들었다. ez
일단 이 문제를 푸는데, 바로 생각난 것이 숫자를 배열로 만들어서 배열의 합을 구하면 될 것 같다는 생각을 했다. 그런데 reduce의 용법을 제대로 이해하지 못해, 정답을 확인하고 나서 알게 된 것이 function solution(n){ return n.toString().split('').reduce((function(acc, cur) {return +acc + +cur}),0); } 보면 알겠지만, 따로 변수를 주지않고 return값에 모든 코드를 집어 넣은 모습을 볼 수 있다. 일단 callback 함수에 대한 이해가 필요할 것 같아 찾아보았다. 개인적인 사견으로 Callback 함수란, 더보기 파라미터로 함수를 전달하는 함수, 익명으로도 전달 가능하다. 콜백(callback) 함수란 파라미터(..
처음에 위에 설명만 보면 이게 뭔소린가 싶지만, 아래에 입출력 예 설명을 보면 아 이거 엄청 쉬운거구나 하고 풀 수 있다. function solution(a, b) { let answer = 0; for (let i = 0; i < a.length; i++) { answer += a[i] * b[i] } return answer; } 어레이 a와 b에 a나 b값만큼 길이를 가진 i값을 하나씩 대입해서 곱해주고 그걸 재할당하여 answer에 쌓아주면 된다. ez