일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로젝트캠프
- 프론트엔드 개발
- sucoding
- React Query
- tanstack query
- 상태 관리 라이브러리
- 공식문서
- 프론트엔드
- 리액트프로젝트
- 웅진씽크빅
- 스나이퍼팩토리
- TypeScript
- Server State
- 개발
- frontend
- 유데미
- 수코딩
- STATE
- React
- Today
- Total
목록전체 글 (88)
yunicornlab
백준 18405번 경쟁적 전염 문제를 자바스크립트로 BFS 알고리즘을 이용해서 풀어보았다. https://www.acmicpc.net/problem/18405 1) 처음 시도 -> 처음 상태를 큐에 넣을 때 바이러스 번호 순서 고려가 안돼서 실패let fs = require("fs");let input = fs.readFileSync('/dev/stdin').toString().trim().split("\n");// n x n 크기의 시험관, 1번부터 k번까지의 바이러스let [n, k] = input[0].split(" ").map(Number);// 시험관 정보let graph = [];for (let i = 1; i 0) { let queueLen = queue.getLength(); // 1번..
백준 14395번 4연산 문제를 자바스크립트로 BFS 알고리즘을 이용해서 풀어보았다. https://www.acmicpc.net/problem/14395 1) 메모리 초과로 실패new Array(t+1)이 문제인 듯 하다.let fs = require('fs');let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');let [s, t] = input[0].split(' ').map(Number);if (s == t) { console.log(0); process.exit();}class Queue { constructor() { this.items = {}; this.head = 0; this.tail = 0;..
백준 1707번 이분 그래프 문제를 자바스크립트로 BFS 알고리즘을 이용해서 풀어보았다. https://www.acmicpc.net/problem/1707 while 문으로 BFS 돌리기 전에 모든 노드를 순회하는 for문을 추가해줬어야 했다.이것 때문에 한참 헤맸다../* '/dev/stdin'*/let path = 'input.txt';let fs = require('fs');let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');let testCase = Number(input[0]);let t = 1;class Queue { constructor() { this.items = {}; this.head = 0; ..
백준 7562번 나이트의 이동 문제를 자바스크립트로 BFS 알고리즘을 이용해서 풀어보았다. https://www.acmicpc.net/problem/7562 let fs = require('fs');let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');let testCase = Number(input[0]);class Queue { constructor() { this.items = {}; this.head = 0; this.tail = 0; } enqueue(element) { this.items[this.tail] = element; this.tail++; } dequeue() { le..

이번엔 자바스크립트의 멀티 패러다임 언어라는 특징에 대해 알아보자.먼저, 프로그래밍 패러다임에 대해서 알아보고, 각각의 패러다임의 특징에 대해 알아본 후에자바스크립트는 왜 멀티 패러다임 언어인 것인지에 대해 알아볼 것이다. 프로그래밍 패러다임(Programming Paradigm)이란?"패러다임"은, 어떤 한 시대 사람들의 견해나 사고를 규정하는 인식의 쳬계, 이론적 틀이나 개념의 집합체를 말한다.간단히 말해, 생각 방식을 말하는 것이다.프로그래밍 패러다임은 프로그래밍의 관점(프로그램을 어떻게 바라볼지), 프로그래밍 언어를 사용하는 방식, 접근 방식과 같은 것을 말한다.프로그래밍에 대해 알아본 글에서 말했듯이, 결국 프로그래밍이란 문제 해결 과정을 말하는 것이기 때문에프로그래밍 패러다임도 문제를 해결하기..
백준 21921번 블로그 문제를 자바스크립트로 투포인터 알고리즘을 이용해서 풀어보았다.https://www.acmicpc.net/problem/21921 let fs = require('fs');let input = fs.readFileSync('/dev/stdin').toString().split('\n');// 총 일수 N, 계산하고자 하는 기간 X일let [n, x] = input[0].split(' ').map(Number);let visitors = input[1].split(' ').map(Number);// 최대 방문자 수let maxVisit = 0;// 최대 방문자 수를 달성한 기간 수let count = 0;// 투포인터를 위한 start, end, 현재 방문자수의 합 설정let sta..
백준 11441번 합 구하기 문제를 자바스크립트로 누적합 알고리즘을 이용해서 풀어보았다. https://www.acmicpc.net/problem/11441 let fs = require('fs');let input = fs.readFileSync('/dev/stdin').toString().split('\n');// 주어지는 수의 개수 Nlet n = Number(input[0]);// A1, A2, ..., Anlet numbers = input[1].split(' ').map(Number);// 구간의 개수 Mlet m = Number(input[2]);// 구간합let prefix = [0];for (let i=1; i
백준 1697번 숨바꼭질 문제를 자바스크립트로 BFS 알고리즘을 이용해서 풀어보았다. https://www.acmicpc.net/problem/1697 // 큐 자료구조class Queue { constructor() { this.items = {}; this.head = 0; this.tail = 0; } enqueue(element) { this.items[this.tail] = element; this.tail++; }; dequeue() { const element = this.items[this.head]; delete this.items[this.head]; this.head++; return element; }; getLength(..
백준 2606번 바이러스 문제를 자바스크립트로 DFS 알고리즘을 이용해서 풀어보았다. https://www.acmicpc.net/problem/2606 let fs = require('fs');let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');// 컴퓨터의 수let n = Number(input[0]);// 연결 수let m = Number(input[1]);// 주어진 연결 정보let pair = [];for (let i=2; i
백준 7490번 0 만들기 문제를 자바스크립트로 백트래킹 알고리즘을 이용해서 풀어보았다. https://www.acmicpc.net/problem/7490 처음 작성한 코드let fs = require('fs');let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');// 테스트케이스 개수let testCase = Number(input[0]);// 출력할 결과let answer = "";function backtrack (n, depth, result, operators, numbers) { if (depth == n-1) { // 공백을 제거한 식 let calculate = ""; for (let r=0; r ..