일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Vue3 Router
- 모던 javascript Deep Dive
- TypeScript 문법 소개
- Vue3
- Frontend Roadmap
- 우테캠 회고록
- KDT 프로그래머스
- 백준 js
- useRef 지역 변수
- 머쓱이
- 모던 자바스크립트 TIL
- 모던 자바스크립트 Deep Dive
- react customHook 예시
- 개발자 특강
- 인프런 자바스크립트 알고리즘 문제풀이
- K_Digital Training
- 백준 node.js
- useEffect return
- KDT 프로그래머스 데브코스 프론트엔드
- 모던 자바스크립트 딥다이브
- 프로그래머스 데브코스 프론트엔드
- 프로그래머스 데브코스 프론트엔드 TIL
- frontend roadmap study
- 프로그래머스 데브코스
- 프로그래머스 K_Digital Training 프론트엔드
- 리팩토링 회고
- 프로그래머스 K_Digital Training
- 모던 자바스크립트 Deep Dive TIL
- react 프로젝트 리팩토링
- 투포인터알고리즘 js
- Today
- Total
목록알고리즘_JS (113)
프론트엔드 개발자의 기록 공간

백준 그리디 알고리즘 11047번_동전 0 난이도 : 실버 II 문제설명 입출력 문제 풀이 : 이 문제의 핵심은 회의 시작 시간과 끝나는 시간이 주어지는데 겹치지 않게 회의를 진행할때 몇번의 회의를 진행할 수 있는지 파악하면된다. 일단 주어진 입력을 회의가 끝나는 시간을 기준으로 정렬을 해준다. 왜냐하면 회의가 끝나야지만 다음 회의가 진행되기 때문이다. 이후 정렬된 회의 목록을 기준으로 반복문을 통해 n번째 회의 끝나는 시간과 n+1번째 회의 시작을 비교한다. n+1이 더 크거나 같다면 회의 끝난후 다음 회의를 바로 시작할 수 있기 때문이다. 이렇게 한다면 최대 회의 개수를 파악할 수 있다. // 실버2 회의실배정 function solution(n, list) { //회의 끝나는 시간 기준으로 정렬 l..

백준 그리디 알고리즘 11047번_동전 0 난이도 : 실버 I 문제 설명 입출력 문제 풀이 : 그리디의 대표 유형 문제 중 하나이다. 주어진 돈을 화폐에 맞게 최소 개수를 구하면된다. 주어진 화폐를 큰 순서대로 돈이랑 비교한다. 주어진 돈이 화폐보다 더 클시 나누어 떨어질 수 있으니깐 돈/화폐의 몫을 카운트를 해주고 나머지를 주어진 돈으로 교체해줍니다. 이런식으로 가지고 있는 돈과 화폐를 차례로 나누어주면서 최솟값을 구할 수 있다. function solution(n, k, list) { let count = 0; for(let i of list) { if(k === 0){ break; } if(k >= i){ count += parseInt(k / i); k = k % i; } } console.log..

백준 그리디 알고리즘 11399번_ATM 난이도 : 실버III 문제 설명 입출력 문제 풀이 : 인출 시간의 최솟값을 구하는 것이 핵심이다. 최솟값을 구할려면 해당 줄을 오름차순 정렬을 우선적으로 해주고 반목문을 통해 누적값을 카운트 해주면된다. function solution(n, list) { //js sort는 ASCII 문자 순서로 정렬되어 숫자의 크기대로 나오지 않음 list.sort(function(a, b) { // 오름차순 return a - b; }); let count = 0; for(let i=0; i

🚩 2839번_설탕 배달 브론즈1 📖 문제 설명 : N킬로그램이 있는 설탕을 5kg, 3kg 봉지를 이용하여 배달 할 때, 필요로 하는 가장 적은 봉지의 수 💡 가장 작은 봉지로 배달 해야하므로 최대한 5kg 봉지를 이용해야 한다. const fs = require('fs') const input = fs.readFileSync('/dev/stdin').toString().trim() let N = Number(input) let answer = 0 while (true) { if (N % 5 === 0) { answer += N / 5 break } N -= 3 answer += 1 if (N < 0) { answer = -1 break } } console.log(answer) 👨💻 코드 설명 반복..
백준에서 node.js로 입력 받는 방법에 대해 소개하겠습니다. 흔히 두가지 경우가 사용됩니다. 1. readline 모듈 사용 2. fs모듈 사용 저는 vscode로 테스트하고 제출하기 때문에 2번의 경우 경로 문제가 발생하여 저는 1번의 방식으로 풀고 있습니다. readline 모듈을 통해 입력을 받는 방법을 소개하겠습니다. 한개의 입력시(띄어쓰기 없이) //개발 로직 함수 function solution(input) { console.log(input); } //모듈 const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let i..