연습장

    [HackerRank - Easy] Flatland Space Stations - JavaScript

    [HackerRank - Easy] Flatland Space Stations - JavaScript

    🔗 문제 링크 https://www.hackerrank.com/challenges/flatland-space-stations/problem?isFullScreen=true Flatland Space Stations | HackerRank Find the maximum distance an astronaut needs to travel to reach the nearest space station. www.hackerrank.com ✏️ 풀이 function flatlandSpaceStations(n, c) { c.sort((a, b) => a - b); let max = Math.max(c[0], n - c[c.length - 1] - 1); for (let i = 0; i < c.length - 1; ..

    [HackerRank - Easy] Big Sorting - JavaScript

    [HackerRank - Easy] Big Sorting - JavaScript

    🔗 문제 링크 https://www.hackerrank.com/challenges/big-sorting/problem?isFullScreen=true Big Sorting | HackerRank Sort an array of very long numeric strings. www.hackerrank.com ✏️ 풀이 function bigSorting(unsorted) { return unsorted.sort((a, b) => { if (a.length === b.length) { for (let i = 0; i < a.length; i++) { if (a[i] === b[i]) { continue; } return a[i] - b[i]; } return 0; } return a.length - b.le..

    [프로그래머스 Level 2] 디펜스 게임 - JavaScript

    [프로그래머스 Level 2] 디펜스 게임 - JavaScript

    🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(n, k, enemy) { if (enemy.length 0 && heap[index] < heap[parent]) { [heap[index], heap[parent]] = [heap[parent], heap[index]]; index = parent; parent = Math.floor((index - 1) / 2); } } pop() ..

    [프로그래머스 Level 2] 테이블 해시 함수 - JavaScript

    [프로그래머스 Level 2] 테이블 해시 함수 - JavaScript

    🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/147354 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(data, col, row_begin, row_end) { return data .sort((a, b) => a[col - 1] === b[col - 1] ? b[0] - a[0] : a[col - 1] - b[col - 1] ) .slice(row_begin - 1, row_end) .map((row, index) => row.reduc..

    [React/TS] 이벤트 핸들러 함수의 타입

    [React/TS] 이벤트 핸들러 함수의 타입

    React에서 이벤트 핸들러 함수를 선언할 때, 이벤트 타입 또는 함수 타입을 아래와 같이 선언한다. const handleClick = (event: React.MouseEvent) => { // }; const handleClick: React.MouseEventHandler = (event) => { // }; 여기서 MouseEvent는 반드시 React.MouseEvent를 사용해야 한다. JS에서 기본으로 제공되는 MouseEvent를 사용하면 React에서 사용할 때 타입 에러가 발생한다. (단, DOM 요소에 직접 addEventListener를 사용할 때에는 기본 제공되는 MouseEvent를 사용해야 한다) 제네릭에는 어떤 요소의 onClick(또는 onMouseOver, onDrag ..

    [백준 1715 - Node.js] 카드 정렬하기

    [백준 1715 - Node.js] 카드 정렬하기

    🔗 문제 링크 https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net ✏️ 풀이 class PriorityQueue { constructor() { this.heap = []; } swap(a, b) { const temp = this.heap[a]; this.heap[a] = this.heap[b]; this.heap[b] = temp; } push(value) { const { heap } = this; heap.push(value)..

    [프로그래머스 Level 2] 짝지어 제거하기 - JavaScript

    [프로그래머스 Level 2] 짝지어 제거하기 - JavaScript

    🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(s) { const stack = [s[0]]; for (let i = 1; i < s.length; i++) { if (s[i] === stack[stack.length - 1]) { stack.pop(); continue; } stack.push(s[i]); } return Number(!stack.length) } 스택 자료구조를 활용..

    [프로그래머스 Level 2] 영어 끝말잇기 - JavaScript

    [프로그래머스 Level 2] 영어 끝말잇기 - JavaScript

    🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(n, words) { const dict = { [words[0]]: true }; for (let i = 1; i < words.length; i++) { const curWord = words[i]; const prevWord = words[i - 1]; if (dict[curWord] || (curWord[0] !== prevWord[..

    [프로그래머스 Level 2] 이진 변환 반복하기 - JavaScript

    [프로그래머스 Level 2] 이진 변환 반복하기 - JavaScript

    🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/70129?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(s) { let count = 0; let deletedZero = 0; let x = s; while (x !== '1') { const prevLength = x.length; const curLength = x.replaceAll('0', '').length; x = curLength.toString..

    [프로그래머스 Level 2] 전력망을 둘로 나누기 - JavaScript

    [프로그래머스 Level 2] 전력망을 둘로 나누기 - JavaScript

    🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(n, wires) { const graph = wires.reduce((acc, [start, end]) => { if (acc[start]) { acc[start].push(end); } else { acc[start] = [end]; } if (acc[end]) { acc[end].push(start); } else { acc[end] ..