분류 전체보기

코딩테스트

[JS] 영어 끝말잇기

난이도: Lv.2 문제: https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 이 문제에서는 검색이 빨라야할 것 같아서 해시 구조를 사용했다. 끝말잇기의 성공 조건은 두가지다. 1. 앞 단어의 마지막 문자와 말할 단어의 첫 문자가 일치해야한다. 2. 동일한 단어를 사용할 수 없다. 성공하면 해시맵에 (단어, 단어를 말한 사람)을 저장한다. 아무도 틀리지 않았을 경우 [0, 0]을 반환하고, 누군가 틀렸을 경우 틀린 사람의 번호와 몇 번째 차..

웹 프로그래밍

[JS] 쿠키

쿠키 보내기 웹 사이트 방문자에게 쿠키를 보내봅시다. const colors = require('colors'); const express = require('express'); const app = express(); app.listen(3000, () => { console.log('Listening on port 3000!'.yellow) }) app.get('/setname', (req, res) => { res.cookie('name', 'ganglim'); res.send('쿠키를 전송했습니다'); }) 쿠키 parser 미들웨어 쿠키를 파싱하려면 cookie-parser라는 패키지를 설치해야 합니다. cmd에서 npm i cookie-parser를 해줍니다. 아래 코드를 기존 코드에 추가합니..

웹 프로그래밍

[Express] 라우터

Express 라우터 큰 앱 하나에 라우트를 많이 넣으면 코드의 길이가 매우 길어집니다. 실제로 앱을 만들때는 그렇게 하지 않기 때문에 Express 라우터를 사용합니다. 아래와 같은 라우트를 만들어봅시다. Route Method GET /farms POST /farms GET /farms/:id GET /farms/:id/edit farms.js const express = require('express'); const router = express.Router(); router.get('/farms', (req, res) => { res.send('All Farms'); }) router.post('/farms', (req, res) => { res.send('Creating Farm'); }) ro..

코딩테스트

[JS] 카펫

난이도: Lv.2 문제: https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 카펫은 n x m 이므로 갈색 격자 수와 노란색 격자 수를 합치면 n x m이다. 따라서 전체 격자 수의 약수 중에서 정답이 존재한다. 갈색 격자의 수는 (n x 2) + (전체격자수 / n - 2) x 2 이다. 이때 전체격자수 / n이 m이다. 전체 격자 수의 약수 중에서 잘색 격자 수를 계산했을 때 일치하는 것이 정답이다. 문제에서 카펫의 가로 길이가 세로 ..

웹 프로그래밍

[Yelpcamp 프로젝트] 리뷰 기능 추가하기

스키마 정의 review 스키마를 정의합니다 const mongoose = require('mongoose'); const Schema = mongoose.Schema; const ReviewSchema = new Schema({ body: { type: String, required: true }, rating: { type: String, required: true } }); module.exports = mongoose.model('Review', ReviewSchema); campground 스키마를 수정합니다. 스키마를 정의하는 부분에서 아래 부분을 추가하면 됩니다. reviews: [ { type: Schema.Types.ObjectId, ref: 'Review' } ] 리뷰 작성 폼 만들기 ..

코딩테스트

[JS] 짝지어 제거하기

난이도: Lv.2 문제: https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 스택 맨 위에 있는 문자와 현재 넣을 문자가 일치하면 스택 맨 위에 있는 문자를 삭제하고 현재 문자를 넣지 않는다. 문자열의 모든 문자에 대해 수행한 후 스택에 문자가 남아있으면 결과값이 0, 남아있지 않으면 결과값 1을 반환한다. 코드 function solution(s) { if (s.length % 2 === 1) { return 0; } const stac..

코딩테스트

[JS] 피보나치 수

난이도: Lv.2 문제: https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 피보나치 수를 계산할 때 배열에 액세스하고 계산 결과를 1234567로 나머지 연산하여 push한다. 나머지 연산을 해서 push하는 이유는 n이 커지면 피보나치 수열의 결과값에 오버플로우가 발생하기 때문 코드 function solution(n) { const fiboArr = [0, 1]; for (let i = 2; i

코딩테스트

[JS] 다음 큰 숫자

난이도: Lv.2 문제: https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 1의 개수를 카운팅 하는 방법 1. toString() 함수로 2진수 문자열로 변환 2. 1을 정규표현식을 사용하여 replace() 함수로 0 제거 3. 2의 길이 구하기 다음 큰 숫자 구하는 방법 n + 1인 자연수부터 2진수의 1의 개수를 카운팅하여 n을 2진수로 변환한 것의 1의 개수와 동일한지 확인 코드 function solution(n) { let a..

코딩테스트

[JS] 숫자의 표현

난이도: Lv.2 문제: https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 시작을 1, 2, ..., n 으로 하여 시작인 수부터 연속된 수들을 차례대로 더한다. 코드 function solution(n) { var answer = 0; for (let i = 1; i

코딩테스트

[JS] 이진 변환 반복하기

난이도: Lv.2 문제: https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 알고리즘 1. 문자열에서 '0'을 모두 제거한다. 2. 1의 문자열 길이를 구한다. 3. 2진수 문자열로 변환한다. 4. 문자열이 '1'이 될 때까지 1 ~ 3의 과정을 반복한다. 코드 function solution(s) { var answer = []; let loopCount = 0, zeroCount = 0; while (s !== '1') { zeroCount +..

미안하다 강림이 좀 늦었다
'분류 전체보기' 카테고리의 글 목록 (20 Page)