| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 구름톤
- nextjs-performance
- 연결 요소 제거하기
- 귤 고르기
- 리액트네이티브 엔진
- 중첩 점
- 과제 진행하기
- mock date
- 통신망분석
- 최솟갑 구하기
- Jest uuid syntax
- 자바스크립트
- 호텔 대실
- 구름톤챌린지
- 리액트네이티브
- ResizeObserver
- mutationobserver
- 날짜 테스트
- 테이블 해시 함수
- Leetcode #javascript #알고리즘 #Algorithms #js
- JavaScript
- create-next-app
- nextjs
- 테스트 Date
- 프로그래머스
- Hermes Engine
- Google 애널리틱스
- 구름톤 챌린지
- 헤르메스 엔진
- jest
- Today
- Total
목록Algorithms (53)
나만보는개발공부블로그
문제설명 오늘 동빈이는 여행 가신 부모님을 대신해서 떡집 일을 하기로 했다. 오늘은 떡볶이 떡을 만드는 날이다. 동빈이네 떡볶이 떡은 재밌게도 떡볶이 떡의 길이가 일정하지 않다. 대신에 한 봉지 안에 들어가는 떡의 총 길이는 절단기로 잘라서 맞춰준다. 절단기에 높이 H를 지정하면 줄지어진 떡을 한 번에 절단한다. 높이가 H보다 긴 떡은 H위의 부분이 잘릴 것이고, 낮은 떡은 잘리지 않는다. 예를 들어 높이가 19, 14, 10, 17cm인 떡이 나란히 있고 절단기를 높이를 15cm로 지정하면 자른 뒤 떡의 높이는 15, 14, 10, 15cm가 될 것이다. 잘린 떡의 길이는 차례대로 4, 0, 0, 2cm 이다, 손님은 6cm만큼의 길이를 가져간다. 손님이 왔을 때 요청한 총 길이가 M일때, 적어도 M만..
이진 탐색 - 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 알고리즘 - 이진 탐색이라고 부른다. - 위치를 나타내는 변수 3개를 사용하는데 탐색하고자 하는 범위의 시작점, 끝점 그리고 중간점을 가지고 찾으려는 데이터와 중간점위치에 있는 데이터를 반복적으로 비교해서 찾아가는 과정. * 이진탐색의 시간복잡도는 O(logN)이다. 절반식 줄어들도록 만드는 점에서 퀵 정렬과의 공통점이 있다. 코테에서의 이진탐색이 쓰이는 경우에는 탐색 범위가 클 경우 이진탐색의 접근을 생각해보면 된다. - 재귀 function binarySearch(array,target,start,end){ if(start>end){ return null; } let mid = Math.floor((end+start)/2); if(..
그래프의 기본 구조 - 노드(=Node), 간선(=Edge)으로 표현된다. 노드를 정점(=Vertex)이라고 말한다. - 그래프 탐색이란? 하나의 노드를 시작으로 다수의 노드를 방문하는 것을 말한다. - 두 노드가 간선으로 연결되어 있으면 두 노드는 인접하다라고 한다. 프로그래밍에서 그래프는 2가지 방식으로 표현할 수 있는데 두 개념에 대해서 꼭 알아야한다. 인접 행렬(Adjacency Matrix) - 2차원 배열로 그래프의 연결 관계를 표현하는 방식 인접 리스트(Adjacency List) - 리스트로 그래프의 연결 관계를 표현하는 방식 위의 두 방식의 차이점은 메모리와 속도 측면에서 살펴보자면 메모리에서 인접 행렬 방식은 모든 관계를 저장하므로 노드 개수가 많을수록 불필요하게 낭비하게 되지만 인접 ..
Given the head of a singly linked list, reverse the list, and return the reversed list. Example 1: Input: head = [1,2,3,4,5] Output: [5,4,3,2,1] Example 2: Input: head = [1,2] Output: [2,1] /** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } */ /** * @param {ListNode} head * @return ..
문제 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 출력 첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. const readline = require('readline'); const rl = readline.createInterface({ input: process.s..
Given a string s, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases. Example 1: Input: s = "A man, a plan, a canal: Panama" Output: true Explanation: "amanaplanacanalpanama" is a palindrome. Example 2: Input: s = "race a car" Output: false Explanation: "raceacar" is not a palindrome. var isPalindrome = function(s) { let d = s.toLowerCase().replace(/[^a-..