전체 글
-
[모두의 네트워크] 1장 - 네트워크 첫걸음Reading/Tech 2022. 6. 13. 03:29
🍀 목차 들어가기 전... LESSON 01 네트워크의 구조 LESSON 02 정보의 양을 나타내는 단위 LESSON 03 랜과 왠 LESSON 04 가정에서 하는 랜 구성 LESSON 05 회사에서 하는 랜 구성 📌Chapter Check-up 이 장의 목표 네트워크가 무엇인지 이해한다. 패킷을 이해한다. 랜(LAN)과 왠(WAN)에 대해 이해한다. 들어가기 전... 네트워크는 다양한 기능이 결합되어 있다. 기능은 여러 레이어 형태로 구성되어 있으며, 그 계층 구조를 이해하면 문제가 발생한 원인이 네트워크 장비인지 애플리케이션인지 판단할 수 있다. LESSON 01 네트워크의 구조 컴퓨터 네트워크? 컴퓨터 간의 네트워크를 연결한 것을 컴퓨터 네트워크라고 하며, 두 대 이상 연결되어 있으면 컴퓨터 네트워..
-
[그래프] 유니온-파인드(Union-Find)Problem-Solving/Algorithm 2022. 6. 1. 17:09
🍀 목차 유니온-파인드 알고리즘 기본 이해 구현(JavaScript) 활용 예 시간 복잡도 유니온-파인드 알고리즘 집합을 관리하는 자료구조 유니온-파인드를 활용해 합집합을 찾는 알고리즘이며, Disjoint Set(서로소 집합, 상호 배타적 집합), Merge find Set 알고리즘이라고도 불린다. 유니온-파인드는 루트 노드 밑에 자식 노드들이 엮인 트리 구조를 따른다. 여러 개의 노드 중 선택된 두 노드가 같은 그래프에 속해 있는지 판별한다. 크게 3가지의 과정을 거친다. Initialization(초기화) : 각 노드가 각각의 집합에 포함되도록 초기화하는 과정 Find(찾기) : 특정 노드의 부모를 찾는다. (해당 노드가 속한 집합의 루트를 반환한다.) Union(합치기) : 두 노드 A와 B를 한..
-
[프로그래머스] 합승 택시 요금(JavaScript)Problem-Solving/Problem 2022. 5. 18. 14:16
🍀 목차 문제 설계 구현(JavaScript) 최종 코드 훔쳐보기 문제 https://programmers.co.kr/learn/courses/30/lessons/72413 코딩테스트 연습 - 합승 택시 요금 6 4 6 2 [[4, 1, 10], [3, 5, 24], [5, 6, 2], [3, 1, 41], [5, 1, 24], [4, 6, 50], [2, 4, 66], [2, 3, 22], [1, 6, 25]] 82 7 3 4 1 [[5, 7, 9], [4, 6, 4], [3, 6, 1], [3, 2, 3], [2, 1, 6]] 14 6 4 5 6 [[2,6,6], [6,3,7], [4,6,7], [6,5,11], [2,5,12], [5,3,20], [2,4 programmers.co.kr 설계 사실 ..
-
[자바스크립트 완벽 가이드] 2장 - 어휘 구조Reading/Tech 2022. 5. 17. 16:59
🍀 목차 2.1 자바스크립트 프로그램의 텍스트 2.3 리터럴 2.4 식별자와 예약어 2.5 유니코드 2.6 선택 사항인 세미콜론 2.1 자바스크립트 프로그램의 텍스트 자바스크립트는 대소문자를 구별하기에 while을 While이나 WHILE로 써서는 안 된다. 캐리지 리턴(CR, \r), 라인피드(LF, \n), 스페이스 문자, 탭, ASCII 제어 문자, 다양한 유니코드 스페이스 문자를 모두 공백으로 인식한다. 2.3 리터럴 리터럴(literal)은 프로그램 안에 직접 쓴 데이터 값이다. 12 1.2 "hello world" 'Hi' true false null 2.4 식별자와 예약어 자바스크립트에서 식별자는 상수, 변수, 프로퍼티, 함수, 클래스의 이름에 사용하고 일부 루프의 라벨로 사용한다. 반드시 ..
-
[수학] 최대공약수(GCD), 최소공배수(LCM) 알고리즘Problem-Solving/Algorithm 2022. 5. 13. 15:20
🍀 목차 최대공약수, 최소공배수 알고리즘 기본 이해 구현(JavaScript) 시간 복잡도 최대공약수, 최소공배수 알고리즘 최대공약수(Greatest Common Divisor, GCD) : 두 수의 여러 공약수 중 최대인 수. 최소공배수(Least Common Multiple, LCM) : 두 수에 공통으로 존재하는 배수 중 가장 작은 수. A, B의 최대공약수를 구할 때 1부터 시작하여 Math.min(A, B)까지 A와 B가 나누어 떨어지는 최대의 수를 구하면 최대공약수를 구할 수 있지만 이 방법은 시간 복잡도가 O(n)이다. 그래서 최대공약수를 구할 때 유클리드 호제법을 쓴다. 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘이다. 나눠가며(log) 구해가기 때문에 훨씬 효율적이..
-
[최단경로] 플로이드-워셜(Floyd-Warshall) 알고리즘Problem-Solving/Algorithm 2022. 5. 11. 15:18
🍀 목차 플로이드-워셜 알고리즘 같은 목적을 가진 알고리즘 기본 이해 구현(JavaScript) 그냥 다익스트라를 정점만큼 돌리면 안 되나요? 시간 복잡도 플로이드-워셜 알고리즘 가중 그래프에서 간선 가중치의 합이 최소가 되는 경로를 찾는 최단 경로를 찾기 위한 알고리즘 중 하나. 한 번 실행하여 모든 정점 - 모든 정점 간의 최단 경로를 구할 수 있는 알고리즘. 다이나믹 프로그래밍(DP)을 바탕으로 하고 있다. 음의 사이클이 없는 그래프라면 음의 가중치를 가졌을 때도 사용 가능. (음의 사이클의 존재를 판단할 수 있음.) 같은 목적을 가진 알고리즘 다익스트라 알고리즘 게시글에 정리해놓았다. 기본 이해 모든 정점과 모든 정점 간의 최단 거리를 구해야 하므로 2차원 배열을 생성, 갱신해 나간다. 단계별로 ..
-
[자바스크립트 완벽 가이드] 1장 - 자바스크립트 소개Reading/Tech 2022. 5. 10. 14:34
🍀 목차 자바스크립트 소개 1.1 자바스크립트 탐험 1.2 Hello World 1.3 자바스크립트 여행 들어가며... 인턴생활 동안 많은 것을 알려주신 멘토 의숙님께서 선물해 주신 책이다! 동기 주희님과 함께 책 앞 페이지에 영광스런 한마디를 써달라고 부탁드렸다. 그 동안 소설/자서전을 제외한 기술 책을 제대로 읽은 적이 손에 꼽는데, 꼭 완주해서 자바스크립트 초보자라는 틀을 벗어나자! 🤪 게시글에는 책을 읽으며 새롭게 알게 된 것들, 흥미로운 점 등을 기록할 것이다. 자바스크립트 소개 자바스크립트는 객체 지향, 함수형 프로그래밍 스타일에 적합한 고수준의 동적 인터프리터 언어이다. 프로그래밍 패러다임 👉 프로그래머에게 관점을 갖게 해주는 역할을 하는 체계. 절차지향 프로그래밍, 객체지향 프로그래밍, 함..
-
[최단경로] 다익스트라(Dijkstra) 알고리즘Problem-Solving/Algorithm 2022. 5. 4. 15:21
🍀 목차 다익스트라 알고리즘 같은 목적을 가진 알고리즘 최단경로 알고리즘과 MST와의 차이점은 뭐지? 기본 이해 구현(JavaScript) 왜 음수 가중치에서는 사용이 불가능한 것일까? 시간 복잡도 따라서... 다익스트라 알고리즘 가중 그래프에서 간선 가중치의 합이 최소가 되는 경로를 찾는 최단 경로를 찾기 위한 알고리즘 중 하나. 기본적으로 그리디 알고리즘을 바탕으로 하고 있다. 거리를 기록하며 이미 최단 경로를 구한 곳은 다시 구할 필요가 없기 때문에 다이나믹 프로그래밍으로 보기도 한다. 항상 최단 경로를 찾고 탐욕적으로 선택한다. - 그리디 이미 계산된 경로를 저장후, 그를 활용해 중복된 하위 문제를 푼다. - DP 다익스트라 알고리즘은 음수 가중치가 포함된 그래프에서는 사용할 수 없다. 이유 알아..