수(num)를 입력받아 num번째까지 총 num + 1개의 피보나치 수열을 리턴해야 합니다.0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1입니다. 그 다음 2번째 피보나치 수부터는 바로 직전의 두 피보나치 수의 합으로 정의합니다.0, 1, 1, 2, 3, 5,
문자열을 입력받아 가장 많이 반복되는 문자(letter)를 리턴해야 합니다.인자 1 : strstring 타입의 공백이 있는 문장string 타입을 리턴해야 합니다.띄어쓰기는 제외합니다.가장 많이 반복되는 문자가 다수일 경우, 가장 먼저 해당 횟수에 도달한 문자를 리턴
우리가 배우는 프로그래밍 언어는 컴퓨터 프로그래밍에서 어떠한 알고리즘을 구현하기 위해 쓰여지는 언어입니다.여기서 알고리즘이란, 어떤 문제를 해결하기 위한 자세한 방법을 말하는데요,즉, 컴퓨터 알고리즘이란 컴퓨터가 어떤 문제를 해결하기 위해서 컴퓨터가 이해할 수 있는 방
어떠한 기능을 구현하기 위해 다양한 코드를 작성할 수 있는 데, 이 중 기능을 가장 빠르게 실행시키고, 컴퓨터의 저장 공간을 가장 적게 사용하는 코드를 보다 좋은 코드라고 할 수 있습니다. 그런데 가장 빠른 알고리즘을 찾기 위해 코드의 실행 시간을 직접 측정해서 비교
참고 어느 지역 기준으로 시간대가 설정되어 있는지 확인하는 코드new Date() : 년, 월은 필수, 나머지는 옵션아규먼트를 전달하지 않으면 현재 날짜와 시간 인스턴스 객체를 반환한다.숫자 타입을 전달하면 1970년 1월 1일 00:00(UTC)을 기점으로 밀리초만큼
LRU 란? LRU(Least Recently Used)는 가장 오랫동안 참조되지 않은 페이지를 교체하는 방식입니다. 많이 나온 횟수와는 상관 없이 최근(cache size 이내)에 나오지 않았다면 삭제합니다.사용된지 가장 오래된 페이지는 앞으로도 사용될 확률이 낮다는
Temp Body
슬라이딩 윈도우 알고리즘(Sliding Window) > 고정 사이즈의 윈도우가 이동하면서 윈도우 내에 있는 데이터를 이용해 문제를 풀이하는 알고리즘을 말한다. \ > 교집합의 정보를 공유하고, 차이가 나는 양쪽 끝 원소만 갱신한다. \ > 배열이나 리스트의 요소의
데이터를 저장할 Object 타입의 storage마지막에 들어온 데이터를 가리키는 Number 타입의 포인터 top데이터를 저장할 Object 타입의 storage마지막에 들어온 데이터를 가리키는 Number 타입의 포인터 topsize(): 스택에 추가된 데이터의 크
데이터를 저장할 Object 타입의 storage큐의 가장 앞을 가리키는 Number 타입의 포인터 front큐의 가장 뒤를 가리키는 Number 타입의 포인터 rearsize(): 큐에 추가된 데이터의 크기를 리턴해야 합니다.enqueue(): 큐에 데이터를 추가할
주어진 인접행렬에서 한 정점으로부터 다른 정점으로 이어지는 길이 존재하는지 반환해야 합니다.인자 1: matrixArray 타입을 요소로 갖는 인접 행렬이 담긴 2차원 배열인자 2: fromNumber 타입의 시작 정점인자 3: toNumber 타입의 도착 정점
방향이 없는 간선들의 목록이 주어질 때, 연결된 정점의 컴포넌트(그룹들)가 몇 개인지 반환하는 함수를 작성하세요.인자 1: edges2차원 Array 타입을 요소로 갖는 시작과 도착 정점이 담겨있는 배열들을 담고 있는 목록 (2차원 배열, 정수 요소)ex) \[0, 1
총 N개의 모든 조별 발표 순서에 대하여, 발표 순서가 적힌 배열 K를 말하면 이 발표 순서가 몇 번째 경우의 수인지를 리턴해야합니다.모든 경우의 수가 담긴 배열은 번호가 작을수록 앞에 위치한다고 가정합니다.파라미터1: NNumber 타입의 1 <= N <=
문제 숫자 배열을 입력 받아 배열의 요소인 숫자 3개를 더해서 0이 되는 방법의 수를 return하세요 제한사항 3 ≤ number의 길이 ≤ 13 -1,000 ≤ number의 각 원소 ≤ 1,000 서로 다른 학생의 정수 번호가 같을 수 있습니다. 입출력 예
방향이 없는 간선들의 목록이 주어질 때, 연결된 정점의 컴포넌트(그룹들)가 몇 개인지 반환하는 함수를 작성하세요.주어진 간선은 무향입니다.1, 2 는 정점 1에서 정점 2로도 갈 수 있으며, 정점 2에서 정점 1로도 갈 수 있습니다.입력파라미터 1: edges2차원 A
길이가 m, n이고 오름차순으로 정렬되어 있는 자연수 배열들을 입력받아 전체 요소 중 k번째 요소를 리턴해야 합니다.인자 1 : arr1자연수를 요소로 갖는 배열arr1.length는 m인자 2 : arr2자연수를 요소로 갖는 배열arr2.length는 n인자 3 :
노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때,1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지 return 하는 함수를 만드시오.가장 멀리 떨어진 노드는 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드를 말한다.각
park와 route 를 2차원 배열로 만들어준다.switch - case 문으로 route에 해당하는 문자에서각 문자가 의미하는 방향으로 route의 칸만큼 이동시킨다이동한 곳이 공원 길이를 벗어나거나(undefined), 장애물이 있다면 이동시킨 거리를 다시 원상복
백준 2293번 동전1코플릿 문제 : 금고를 털어라target 금액과, n개의 종류의 돈이 있을 때target 금액을 훔칠 수 있는 방법의 경우의 수를 리턴하세요.예를 들어 $50 을 훔칠 때 $10, $20, $50 이 있다면 다음과 같이 4 가지 방법으로 $50을
이진트리의 root노드를 줄 것입니다. 해당 이진트리의 후위 순회 결과를 출력하세요.인자 1 : TreeNodeTreeNode 타입으로 된 root 노드number\[] 을 리턴해야 합니다.이진트리 내의 노드 갯수의 범위는 0 - 100 입니다.해당 문제를 재귀적인 해
이진트리의 root노드를 줄 것입니다. 해당 이진트리의 레벨 순회 결과를 출력하세요.인자 1 : TreeNodeTreeNode 타입으로 된 root 노드number\[]\[] 을 리턴해야 합니다.이진트리 내의 노드 갯수의 범위는 0 - 2000 입니다.
🌱 연결리스트란 ? > 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조이다. 이름에서 말하듯이 데이터를 담고 있는 노드들이 연결되어 있는데, 노드의 포인터가 다음이나 이전의 노드와의 연결을 담당하게 된다. 🔗 연결리
연결리스트 문제를 풀다가 병합 정렬을 적용해서 푸는 문제가 나와서 병합정렬을 다시 풀어보았다.전에 했던 건데 오랜만에 풀려니 헷갈려서 시간이 꽤 걸렸다.이제 잊지 말아야지 ..!정수를 요소로 갖는 배열을 입력받아 오름차순으로 정렬하여 리턴해야 합니다.정답 함수 내부에
🌱 Linked List 문제 🔗 Leet 817. Linked List Components Leet 에서는 문제 설명 외에도 코드 입력기에 주석 처리 되어 있는 힌트를 잘 봐야 한다. 입력되는 head가 이미 연결리스트로 만들어져 있어서 val와 next를 가
Linked List 를 Merge Sort 로 정렬해서 풀이 기본 병합 정렬 구조대로 나누되, 배열 대신 연결 리스트를 어떻게 절반을 쪼개고 합칠지가 관건이다.❓의문점 : 문제에서 주어진 Input의 head 가 배열의 형태의 전체 linked list 라고 생각했
🌱 스택 / 큐 란 ? 🌱 자바스크립트로 구현하기 분명 전에 한 번 구현해보고 문제도 많이 풀었었는데, 어떻게 잠깐 알고리즘 공부 쉬었다고 이렇게 초멘나사이가 됐지...? 😭 다시 매일 꾸준히 하자!! 🔥 🔗 스택 구현하기 🔗 큐 구현하기 🌱 스택 문
백준에서는 프로그래머스와 달리 node.js 로 파일을 읽어와 입력을 받아서 문제 풀이를 해야합니다.처음부터 입력 읽어오기 + 문제풀이를 동시에 하려고 하면 많이 헷갈릴 수 있으니,프로그래머스 문제 풀이처럼입력을 받아서 solution 함수에 넣을 수 있도록 만들어 두