분류 전체보기
-
CS - 공부 참조CS 지식/Common 2021. 5. 23. 21:31
다음을 주로 참조 1) https://gyoogle.dev/blog/ 👨🏻💻 Tech Interview gyoogle.dev 2) https://github.com/JaeYeopHan/Interview_Question_for_Beginner JaeYeopHan/Interview_Question_for_Beginner :boy: :girl: Technical-Interview guidelines written for those who started studying programming. I wish you all the best. :space_invader: - JaeYeopHan/Interview_Question_for_Beginner github.com
-
비트마스크 / 비트마스킹알고리즘/Common 2021. 5. 23. 12:06
■ 비트마스킹 1) 정의 : 어떠한 데이터를 bit형태로 나타내고, 비트 연산을 통해 문제를 해결하는 방법 2) 장점 : 비트연산을 통한 삽입, 삭제, 조회(multiple indexing처럼 동작 가능)가 간단 간결한 코드 빠른 연산 비트마스크 정수표현으로 다이내믹 프로그래밍 가능 ■ 자료형의 변환 > 사용하고자 하는 형식을 표현하는 이진법으로 구현 switch_states = [True, False, False, True, True, False, False, False, True, True] switch_states = 0b1001100011 # prefix '0b'를 붙여 이진수 표현 다른 자료형에서 binary로 바꾸는 법 1) 일반적 int bin( ) 함수를 사용, binary string을 ..
-
React - 생활코딩(14) - Delete 기능HTTP 웹/React 2021. 5. 22. 14:28
■ setState의 위치 ※ 반드시 main.js 의 render( ) 밖에서 이루어져야함 밖에서는 몇번이고 mutiple update 가능 하지만 render( ) 부를 때는 state / props가 바뀔 때 이므로 고정 된 상태에서 call 되어야 하고 결과적으로 render( )안에서는 setState등이 불리는 구조면 안됨 하지만 하위 component의 props change에 의한 상위단에서 callback을 불러 setStage를 부르는 경우는 하위 component의 변경을 받는 것이므로 OK ■ delete Controller 소속이었으므로 controller component 안에서 다음과 같이 구현 > delete가 아닌 경우 callback에 의해서 setState가 불리고 th..
-
프림알고리즘/탐색 2021. 5. 19. 07:18
■ 프림 알고리즘 1) 정의 : 시작 정점에서 출발하여 신장트리 집합을 단계적으로 확장해나가는 방법 > 앞단계에서 만들어진 MST(Minimum spanning tree)의 인접 정점 중, 최소 간선으로 연결된 정점을 선택하여 트리를 확장(낮은 가중치 선택) > 트리가 V-1의 간선을 가질 때 까지 반복 > 시간복잡도 : O(V^2), 적은 노드 V 일 때 유리 2) 사용 그래프 구조 : > 인접행렬 ( 노드에 시간복잡도가 비례하므로! ) ■ 알고리즘 def get_min_node(node_num, visited, distances): # 임의의 미방문 노드 설정 for i in range(node_num): if not visited[i]: v = i break for i in range(node_nu..
-
React - 생활코딩(13) - Update 기능 추가HTTP 웹/React 2021. 5. 17. 18:20
■ Update 기능? > read + create 를 합친 것 > 기존의 contents를 불러와서 수정하는 것 > 이를 위해서는 기존 contents의 "read" + 수정하여 put하는 "create"기능이 합쳐져야 함 ■ 구현 create에서 마찬가지로 원본은 보존, 업데이트할 contents의 index를 구한 후 new Object로 교환 ■ Input tag의 Placeholder vs Value attribute Input tag에서 Placeholder은 그대로 text area에 dummy value를 표시해주지만, Value attribute를 사용하면 text 원본을 가져와서 표시 ※ 다만 props 값은 readonly가 원칙이므로 바로 value에 JSX로 값을 읽으면 다음과 같..
-
React - 생활코딩(12) - Create의 Form 기능 / rendering 제어HTTP 웹/React 2021. 5. 13. 00:30
■ Create에 Form 추가 1) form 태그 생성 + 하위에 input - submit type 추가 > 위와 같은 구성으로 form 태그 안의 내용을 원래는 서버 등에 보낼 수 있음 > 서버의 주소는 form tag attribute에 넣으면 됨 action = "server location", method = "get / post" (post URL에서 보내는 값 노출 안됨) onSubmit = "callback for submit from input tag" ( form태그 하위 input-submit 클릭시 호출되는 콜백 ) 2) App.js에서 props로 하위 component 값 받아오고 업데이트 > new object를 list에 추가해줌 > 기본 JS method 사용( push ..
-
JS (ES6 & above) - async / await자바스크립트 Study/자바스크립트 2021. 5. 12. 01:27
■ Promise chaining > 효율적이기는 하나, 좀 난잡해질 수 있음 Promise 생성이후 return 하는 등의 일련의 과정이 typing이 많다 계속 중첩하면 사실상 callback hell이랑 생긴게 다른게 없어질 정도! > 간편한 api async / await을 통해 동기 형식으로 Promise 비동기를 쉽게 구현할 수 있게 함 ( synthatic sugar - like class in JS ) 내글 참조 : korshika.tistory.com/99?category=955367 JS (ES6 & above) - Promise ■ Promise를 사용할 때 개념 1) State : request 관련 heavy한 work를 수행중인지, 아니면 끝난지 여부 - pending → ful..
-
플로이드와샬 / 플로이드 - 와샬알고리즘/탐색 2021. 5. 11. 01:36
■ 플로이드와샬 1) 정의 : 3중 for문을 통해 모든 정점사이의 최단 경로를 찾는 탐색 알고리즘 > (다대다 정점간 최단경로 모두 찾아야 할 때) > 최대 O(N^3) 시간복잡도 > 간선모두 탐색하며 dynamic 하게 업데이트 하므로 인접행렬로 구현 ■ 과정 1) 한 노드에서 다른 노드로 갈 수 있으면 최소 비용 / 간선이 없으면 INF로 초기 배열을 설정 2) 3중 for문을 통해 "거쳐가는 정점"을 기준으로, 다른 경로를 선택할 때 비용이 줄면, 값을 갱신 (다이나믹 프로그래밍) 3) 1~2 반복으로 모든 정점 사이의 최단경로를 탐색 1) 초기 배열 세팅 INF = float('inf') adj = [ [0, 5, INF, 8], [7, 0, 9, INF], [2, INF, 0, 4], [INF..
-
크루스칼알고리즘/탐색 2021. 5. 10. 19:46
■ 그래프 정리 다음 참조 : korshika.tistory.com/42 graph(map) 구현(python) ■ 그래프 1) 기본 구조 노드 - '정점' 이라고도 함 간선 - 노드 사이의 도로 ■ 예시 그래프 ■ 그래프 표현법 인접 행렬 2차원 배열에 각 노드가 연결된 형태를 기록하는 방식 > 이름이 "행렬"이기 korshika.tistory.com ■ 크루스칼 알고리즘 1) 정의 : 최소 비용으로 모든 그래프가 cycle이 없도록 연결되게 하는 연결방식을 찾는 알고리즘 > 존재하는 간선들 중 선택 된 간선의 개수는 노드V 간선E 일시, V-1 개가 선택 됨 2) 사용 그래프 구조 : > 인접리스트 사용 > 필요한건 순위로 정렬된 간선 비용과 그것을 이루는 노드이므로, 필요한 데이터만 담겨있는 인접리..
-
JS (ES6 & above) - Promise자바스크립트 Study/자바스크립트 2021. 5. 6. 00:43
■ Promise를 사용할 때 개념 1) State : request 관련 heavy한 work를 수행중인지, 아니면 끝난지 여부 - pending → fulfilled or rejected 2) Promie Object 의 Producer & Consumer - producer : 원하는 데이터 생산 - consumer : 생산된 데이터 사용자 ■ Producer - new Promise class를 이용하여 생성 - resolve, reject callback을 인자로 받아서 사용 - executor 부분은 바로 run 하므로 network 통신은 event 등에 엮으려면, 주의해햐 함 // when Promise is created, the executer runs Automatically cons..