본문 바로가기

분류 전체보기

(291)
내일배움캠프 4기_Socket 44일차 TIL 내일배움캠프 4기_Socket 44일차 TIL 2023.01.12 - [알고리즘] - 데일리 알고리즘 230112 2023.01.12 - [알고리즘] - 자료구조 4주차 _ DFS & BFS 오늘은 gif채팅방 복습하고 알고리즘 문제 위주로 풀었다. 개념이 생소한데 노드를 방문해 탐색한다는 개념을 이해하기 위해 노력했다. 항상 느끼는 거지만, 직접 구현하고 나서 이해하는게 더 많은 것같다. 소켓은 zoom clone coding을 하려고 했는데, 시간적 여유가 있을지 모르겠다. 무료긴한데, 일주일안에 다 수강해야해서....할수 있겠지?!??! 도전!!!
자료구조 4주차 _ DFS & BFS 자료구조 4주차 _ DFS & BFS 📌 DFS란? Dep First Search 인접한 노드를 끝까지 탐색 끝까지 파고드는 것이라, 그래프 최대 깊이 만큼의 공간을 요구 공간↓ 최단 경로 탐색 어려움 📌 BFS란? Breadth First Search 한 노드를 시작으로 인접한 모든 정점들을 다 둘러보는 방식 모든 분기되는 수를 다 저장함. 공간↑ 최단 경로 쉽게 찾을 수 있음 모든 경우의 수를 다 탐색해야하는 경우가 있음. 📌 DFS 재귀함수 구현해보기 # 위의 그래프를 예시로 삼아서 인접 리스트 방식으로 표현했습니다! graph = { 1: [2, 5, 9], 2: [1, 3], 3: [2, 4], 4: [3], 5: [1, 6, 8], 6: [5, 7], 7: [6], 8: [5], 9: [1, ..
데일리 알고리즘 230112 데일리 알고리즘 230112 프로그래머스, 3진법 뒤집기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📄 나의 코드 def solution(n): re_three = "" while n > 0: re_three += str(int(n % 3)) n = n // 3 return int(re_three, 3) print("7 result : ", solution(45)) print("125 result : ", solution(125)) 📌 문자열 or list 뒤집기 string = "1234" string[::-1] list = [1,2,3,4] lis..
내일배움캠프 4기_Socket 43일차 TIL 내일배움캠프 4기_Socket 43일차 TIL 2023.01.11 - [알고리즘] - 데일리 알고리즘 230111 2023.01.12 - [JavaScript] - Web Socket 채팅방 만들기_4 Zero Cho 강의랑 git repo보고 구현하는데도 잘 되지 않아 애먹었다. 다시 socket개념을 공부하고 zoom clone coding도 봐야겠다. 소켓 개념도 생소하고 구현해봤지만, 이걸 잘 응용할 수 있을지 모르겠다. 그래도 최대한 이해하려고 시간과 노력을 쏟아야지!!!
Web Socket 채팅방 만들기_4 Web Socket 채팅방 만들기_4 2023.01.09 - [JavaScript] - Web Socket 채팅방 만들기_1 2023.01.10 - [JavaScript] - Web Socket 채팅방 만들기_2 2023.01.10 - [JavaScript] - Web Socket 채팅방 만들기_3 📌 package.json npm i axios 📄 views/chat.html socket.on('chat', function (data) { const div = document.createElement('div'); if (data.user === '{{user}}') { div.classList.add('mine'); } else { div.classList.add('other'); } const na..
데일리 알고리즘 230111 데일리 알고리즘 230111 프로그래머스, 최대공약수와 최소공배수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📄 나의 코드 def solution(n, m): for i in range(min(n,m), 0, -1): if n % i == 0 and m % i == 0: maxDiv = i break for i in range(max(n,m), (n*m) + 1): if i % n == 0 and i % m == 0: minMul = i break return [maxDiv, minMul] print("result : ", solution(3,12))..
내일배움캠프 4기_Socket 42일차 TIL 내일배움캠프 4기_Socket 42일차 TIL 2023.01.10 - [알고리즘] - 데일리 알고리즘 230110 2023.01.10 - [JavaScript] - Web Socket 채팅방 만들기_2 2023.01.10 - [JavaScript] - Web Socket 채팅방 만들기_3 2023.01.10 - [알고리즘] - 자료구조 4주차_힙 2023.01.10 - [알고리즘] - 자료구조 4주차_그래프 채팅을 구현한 것도 아니고 채팅방만 구현했는데도 상당히 복잡하다. 유투브보고 따라했지만, 코드를 완전히 이해하고 쓰진 못했다.ㅠㅠㅠㅠ 소켓 참 어렵구나... 튜터님이 이번주도 과제를 내줄 가능성이 높다고 하셨는데. 스파르타코딩클럽... 정말 스파르타다. 매주 개인과제에 프로젝트에 쉴새없이 몰아치는 느..
자료구조 4주차_그래프 자료구조 4주차_그래프 그래프란? 비선형구조 연결 관계에 초점을 맞춤 로제 - 사나 ⎜ 제니 - 르탄 로제, 사나, 제니, 르탄이는 연결관계를 가지는 노드(Node) 르탄이와 제니는 간선(Edge)으로 연결되어 있음 르탄이와 로제는 인접노드(Adjacent Node) 📌 유방향 그래프(Directed graph) : 방향이 있는 간선(단방향) 로제 -> 사나 로제에서 사나로는 갈 수 있지만, 사나에서 로제로는 갈수 없음 📌 무방향 그래프(Undirected graph) : 방향이 없는 간선 로제 - 사나 로제에서 사나로 갈 수 있고 사나에서 로제로도 갈 수 있음 📌 인접 행렬 2 - 3 ⎜ 0 - 1 1. 이를 인접 행렬, 2차원 배열로 나타내면 다음과 같습니다! 0 1 2 3 0 X O X X 1 O ..
자료구조 4주차_힙 자료구조 4주차_힙 힙(Heap)이란? 테이터에서 최댓값과 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리 📌 Max Heap 원소 추가 class MaxHeap: def __init__(self): self.items = [None] def insert(self, value): # 1. 새노드를 맨 끝에 추가한다. # 2. 지금 넣은 새노드를 부모와 비교한다. 만약 부모보다 크다면, 교체한다. # 3. 이 과정을 꼭대기까지 반복한다. self.items.append(value) cur_index = len(self.items) - 1 # 가장 마지막에 넣은 value의 idx while cur_index > 1: parent_index = cur_index // 2 if self.items[cur_i..
Web Socket 채팅방 만들기_3 Web Socket 채팅방 만들기_3 2023.01.09 - [JavaScript] - Web Socket 채팅방 만들기_1 2023.01.10 - [JavaScript] - Web Socket 채팅방 만들기_2 socket.io이용 채팅방 프로젝트 📌 package.json npm i mongoose multer color-hash@2 새로운 방 생성 📄 /views/main.html socket.on('newRoom', function (data) { // 새 방 이벤트 시 새 방 생성 const tr = document.createElement('tr'); let td = document.createElement('td'); td.textContent = data.title; tr.appendChi..