일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Migratory Birds
- javascirpt
- Drawing Book
- nodejs
- Divisible Sum Pairs
- Ellectronics Shop
- Apple and Orange
- Between Two Sets
- hackerrank
- 생활코딩
- Javascript
- Breaking the Records
- Birthday Chocolate
- Algorithm
- Grading Students
- Time Conversion
- alogrithim
- Sock Merchant
- 자바스크립트
- 프로그래머스
- #nodejs#노드js
- Data Structure
- A Very Big Sum
- 자료구조
- 짝수와 홀수
- 노드
- git
- #nodejs#express
- algorithim
- 알고리즘
- Today
- Total
목록자바스크립트 (71)
ian의 개발일기장
1. 개념 큐(Queue)는 기본적인 컴퓨터 자료구조이며, FIFO(First In First Out)구조로 자료를 저장하는 형식이다. 먼저 집어넣은 데이터가 먼저 나오는 형식이다. 예를 들어, 줄을 서서 먹는 식당을 생각해보자. 먼저 줄을 선사람이 음식을 다먹으면, 먼저 나간다. 큐와 비슷하다. 큐와 반대대는 개념은 스택(Stack)이다. 데이터가 나가는 방법에 차이가 있다. 데이터가 들어오는 위치는 뒤쪽에 있으며, 뒤쪽을 Rear 또는 Back, Tail 이라고 하며, 데이터가 나가는 위치는 앞쪽에 있으며, 앞쪽을 Front 또는 Head 라 한다. 데이터를 입력하는 동작을 Enqueue, 제거하는 동작을 Dequeue라고 한다. 2. 구현 배열을 활용했다. enqueue - data를 입력하는 것이..
1. 데이터베이스 데이터를 저장하고, 꺼내오는 것을 전문적으로 담당하는 소프트웨어.체계화된 데이터의 모임. 즉, 작성된 목록으로써 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음 2. 데이터베이스의 종류관계형 데이터베이스대표적인 제품들 - Oracle, MySQL, SQL SERVER공통적으로 언어를 SQL을 사용.관계형 데이터베이스부터 배우는 것이 좋음. 아무튼 꼭 알아야함. 관계형 데이터베이스가 아닌 것현대세계가 복잡해지면서, 관계형 데이터베이스들이 가진 모델로 표현불가능. 새로운 데이터베이스들이 출현.NoSQL이 출현. 3. 만들어 볼 것 출처 - 생활코딩, 위키피디아(한글)
1. 파일 업로드 준비 사용자가 선택한 파일을 업로드하여 저장하는 것을 만들어 볼 것. express에서는 따로 제공하지 않아서, 모듈을 사용해야한다.그것은 바로 multer, 사용법은 링크로 들어가보면 나와있다. 우선 설치는 npm 모듈을 이용해야 한다. 2. 파일 업로드 양식(form)/upload 라우터로 접속 할 때, 업로드창이 뜨도록 설정하기. 1. 기본 틀 작성 후, 라우터 설정.유저가 /upload로 접속했을 때 와 파일을 전송후 접속되는 get과 post 라우터를 위와 같이 설정해준다. 템플릿 엔진을 이용하기위해 다른코드도 입력했다. 2. 템플릿 엔진 작성views_file 폴더에서 템플릿 파일을 사용할것이므로, views_file 폴더에 upload.pug를 만들어서, 위와같이 입력해보자..
1. 나의 풀이 각 숫자의 크기를 비교하기 위해서, split을 이용해 문자열을 배열로 바꾼후, map을 이용해 모든 원소를 숫자로 바꾸었다. 그다음 sort로 오름차순을 한 후, 최솟값과 최댓값을 return하였다. 2. 다른사람 풀이 spread operator와 Math함수를 이용했다. 간단한 풀이이다. 3. 결론 speard operator에 익숙해져야겠다. 4. 정리 ES5Math.max.apply(null, arr) => 배열의 최댓값을 구할 수 있다.Math.min.apply(null, arr) => 배열의 최솟값을 구할 수 있다. ES6Math.max(..arr) => 배열의 최댓값을 구할 수 있다.Math.min(...arr) => 배열의 최솟값을 구할 수 있다. 출처 - 프로그래머스, ..
1. 나의 풀이 2진법으로 직접 바꾸려다가 toString이라는 좋은 메소드가 있어서, 이것을 이용했다. 그리고 1의 개수가 같은것을 파악하기 위해서 정규표현식과 match 메소드를 이용했다. 2. 다른사람 풀이 로직은 거의 똑같다. 3. 결론 정규표현식과 toString에 대해서 조금더 알게되었다. 다만, toString이 아닌 직접, 10진법 숫자를 2진법으로 바꾸는 로직을 구현해봐야겠다. 4. 정리 10진법 => n진법으로 바꾸기 : Number.toString(바꿀진법숫자) 출처 - 프로그래머스, MDN공식문서
1. 오리엔테이션만들어 볼 것글 작성, 저장, 조회(1,2) 라우팅 구조글 작성 : /topic/new글 저장,조회1 : /topic조회2 : /topic/nodejs 2. 라우팅app_file.js로 메인 파일을 만들자. 위와 같이 코드작성 후, 서버가연결되나 확인해보자. 이때, 전에 배운 nodemon app_file.js로 작동시키면, 서버를 껐다가 다시키는일을 반복하지 않아도 된다. 글을 작성할 라우터 /topic/new를 작성해주자. 글 작성을 위해서 템플릿 엔진을 사용 할 것이다.app.set을 통해, 템플릿 엔진 사용할 명령어를 입력해주고, 템플릿 파일이 있는 폴더를 '/views_file'로 지정해준후, views_file이라는 새폴더를 만들자. views_file 폴더에 new라는 템플릿..
1. 나의 풀이 먼저 첫번째문자를 제외한 모든문자가 소문자이므로, 소문자화시켜서 split을 이용해 배열로 만들었다.그다음 그배열을 다시 map을 이용해서 첫번째문자만 대문자로 만들고 join을 이용해서 원래의 문자로 만들었다.다만 typeof 를 쓴 이유는 공백이 1개가아닌 두개이상 일 때, 판단하기 위해서이다. 2. 다른사람 풀이 정말 간단하게 풀었다. 나와 생각은 비슷하지만 이게더 간단하다! for문을 이용한 간략한 풀이이다. 깔끔하다. 3. 결론 substring에 익숙해져야겠다. 사실 비슷하게 slice도 있다. 4. 정리 시작인덱스부터 마지막인덱스문자열을 제외하고 리턴한다. substr과는 다르다. 출처 - 프로그래머스, MDN공식문서
1. 나의 풀이 재귀를 이용해서 풀려고 했더니, 테스트케이스에서 시간초과로 막혔다. 그래서 while문을 이용해서, 피보나치수를 담는 result배열을 구했고, n이 2이상이면 n번째 피보나치수를 1234567로나눈 나머지를 리턴하라고 했으므로, result에 push를 해줄 때, 합을 나누어서 넣어주었다. 2. 다른사람 풀이 이풀이는 재귀를 이용한 풀이이다. 하지만 지금은 효율성체크에서 막힌다. for문을 이용한 간략한 풀이이다. 깔끔하다. 3. 결론 시간복잡도에 대해서 점점 더 생각을 가져봐야할것 같다. 4. 정리 고등학교 수업시간에 배웠었는데.. 코딩으로 풀려고 하니 다르다. 수열파트에서 배웠던부분인데.. 피보나치에 대한 설명은 위키로 남겨둔다. n번째 피보나치수 구하는 공식이 있는데 컴퓨터로는 소..
1. 나의 풀이 sort를 할때 기준이, 각 문자열의 n번째 인덱스 문자열 비교여서 a[n] 과 b[n]을 이용했다. 그리고 같을때는 비교적 편한 localeCompare함수를 이용했다. 2. 다른사람 풀이 charAt 함수를 이용했다. 3. 결론 localeCompare 메소드를 알고, sort 엮으면 간편하다. 4. 정리 양수,음수,0을 리턴하며, 각 숫자 값에 따라 비교문자의 위치를 알 수 있습니다. 문법을 보면, referenceStr이 compareStr보다 앞에 있으면 음수를 리턴, referenceStr이 compareStr보다 뒤에 있으면 양수를 리턴, 같으면 0을 리턴합니다. 출처 - 프로그래머스, MDN공식문서
1. 나의 풀이 원래는 다른풀이를 썼는데.. 효율성테스트로 인해서, 에라토스테네스의 체를 이용해야한다는것을 알았다. 에라토스테네스의 체는 수학에서 소수를 찾는 방법중에 하나이다. 2. 다른사람 풀이 주석에 풀이가 잘 나와있다. 3. 결론 효율성에 대해서 잘 생각해보고, 코드를 짜야겠다. 4. 정리 에라토스테네스의 체 = 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 그림에서 회색 사각형으로 두른 수들이 여기에 해당한다.2는 소수이므로 오른쪽에 2를 쓴다. (빨간색)자기 자신을 제외한 2의 배수를 모두 지운다.남아있는 수 가운데 3은 소수이므로 오른쪽에 3을 쓴다. (초록색)자기 자신을 제외한 3의 배수를 모두 지운다.남아있는 수 가운데 5는 소수이므로 오른쪽에 5를 쓴다. (파란색)자기 자신을..