본문 바로가기

Studieeeeee~./JS Algorism Test8

그래프 그래프 개념 이해하기그래프란?노드 vertex와 간선 edge을 이용한 비선형 데이터 구조. 노드는 정점(vertex)으로 표시된다.동그라미로 표시된 것 | 노드 vertex화살표로 표시된 것 | 간선 edge간선 위에 숫자로 표시된 것 | 가중치 weight그래프의 특징과 종류방향성, 가중치, 순환 특성에 따라 종류를 구분한다.방향 그래프 directed graph와 무방향 그래프 undirected graph가중치 그래프 weighted graph순환 그래프 cycle graph와 비순환 그래프 acyclic graph그래프 구현 방식인접 행렬 adjacency matrix과 인접 리스트 adjacency list가 있다.인접 행렬 그래프2차원 배열을 활용하여 구현하는 경우가 많다. 배열의 인덱스는.. 2024. 8. 25.
js 알고리즘 테스트 환경 VS code로 세팅하기 자바스크립트 코딩 테스트 환경 만들기아예 세팅을 처음한다면 VS code, npm, node.js 먼저 설치를 해주어야한다.Visual Studio Code 접속하여 설치node.js 설치npm 설치 , npm은 node.js 설치 시 자동으로 설치되므로 터미널에서 npm -v 명령어를 입력하여 npm이 제대로 설치되었는지 확인한다. 잘 생성되었을 경우 현재 설치된 npm의 버전이 출력된다.둘 다 설치가 돼있다면 node -v 와 npm-v 명령어로 각각 버전을 확인해준다. 버전이 잘 출력되면 설치가 잘 돼 있는 것.최종 설정한 package.json 파일 스크립트 보기아래 순서대로 설명해뒀지만 바쁜 사람들을 위해 최종 스크립트 먼저 작성해두었다. (lint 파일을 제외된 스크립트) package.jso.. 2024. 8. 22.
[코테 합격자되기 Js] 문제 16 기능 개발 프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42586풀이 방법처음에 큐 없이 풀 수 있지 않을까 하는 생각에 먼저 풀이 순서를 작성했다.progresses배열과 speeds배열로 인덱스마다 작업 소요일을 계산한다.앞에 인덱스와 뒤에 인덱스를 비교하여 앞의 인덱스보다 뒤의 인덱스가 작업 소요일이 더 작거나 같으면 앞의 인덱스가 완료되었을 때, 작거나 같은 인덱스와 함께 배포된다.배포되고 난뒤에 남은 배열의 요소들도 같은 방법으로 배열의 모든 요소가 없어질 때까지 반복한다.막상 풀고 나니 아래 코드가 결국 큐 같다는 생각이 들었다.function solution(progresses, speeds) { let answer .. 2024. 8. 14.
[코테 합격자되기 Js] 문제 17 카드뭉치 프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/159994문제 풀며 놓친 점자바스크립트의 Object나 Array와 같은 iterator들은 값이 같은지 비교할 때 메모리 주소로 비교한다.배열, 객체를 비교할 때는 비교하려는 대상은 JSON.stringify(array) 메서드를 이용해 문자열로 변환한 후 비교할 수 있다.잘 못 이해한 부분카드1과 카드2에서 각각 카드가 한장씩 뽑아 goal 배열과 맞는 순서로 나열하여 비교하는 문제인지 알았는데, 카드1과 카드2를 무조건 둘다 뽑아서 비교하는 문제가 아니라 하나만 뽑아서 비교하면 되는 문제였다. 문제를 잘 읽도록 하자.[오답]처음 문제를 푼 방법처음에 문제 이해를 잘 못해서 .. 2024. 8. 14.
► 코딩테스트 합격자되기 자바스크립트편 07장 큐를 요약정리한 포스팅입니다.선입선출 :FIFO( first in first out )삽입하는 연산 push꺼내는 연산 pop👯👯 큐의 특성을 활용하는 분야작업 대기열이벤트 처리큐의 ADT (abstract data type)큐는 front 다음부터 rear까지를 큐가 관리하는 데이터로 생각해야 한다.연산isFull() :booleanisEmpty() : booleanpush(item) : voidpop(item) : itemType상태front :int -> front는 이전을 기준으로 큐의 사용할 수 있는 부분과 사용할 수 없는 부분으로 나뉘었다.rear : intdata[maxsize] : itemType큐 구현하기자바스크립트에서는 배열의 push(.. 2024. 8. 13.
이진 트리 binary tree ►  코딩테스트 합격자되기 자바스크립트편 09장 트리를 요약 정리한 포스팅입니다.🌲 이진 트리란?모든 노드의 최대 차수가 2를 넘지 않는 트리를 말한다.(= 간선이 최대 2개인 트리)► 배열로 표현하기배열은 선형 자료 구조, 트리는 계층 자료 구조이므로 배열로 트리를 표현하려면 아래 규칙을 따라야한다.루트 노드는 배열 인덱스 1번에 저장한다.왼쪽 자식 노드의 배열 인덱스는 부모 노드의 배열 인덱스 * 2이다.오른쪽 자식 노드의 배열 인덱스는 부모 노드의 배열 인덱스 * 2 + 1이다. 1 / \ 2 3 / \ \ 4 5 7 / / 8 14 위의 트리로 보면 인덱스가 부모 *.. 2024. 8. 13.