분류 전체보기692 [알고리즘] Knapsack Problem Knapsack 알고리즘 이란? " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 도둑이 보석가게에 배낭을 메고 침입했다. 배낭의 최대 용량은 W이며, 이를 초과해서 보석을 담으면 배낭이 터질 것이다. 각 보석들의 무게와 가격은 알고 있다. 배낭이 찢어지지 않는 선에서 가격 합이 최대가 되도록 보석을 담는 방법은? 위와 같은 문제를 해결하는대 사용되는 알고리즘을 대표적으로 Knapsack 알고리즘 이라고 부른다. 이러한 Knapsack 문제는 동적프로그래밍(DP)의 대표적인 문제로, 대부분의 알고리즘 서적에서 확인해볼수 있는 대표 유형이라 할 수 있다. 알고리즘의 분석 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 어떤 문제를 DP로 풀기 .. Algorithm/PS 알고리즘 정리 2022. 1. 20. [서평] ZERO to ONE : 제로 투 원 저의 돈으로 직접사서 직접 완독해본후 써보는 후기입니다. 따라서 장점은 장점대로 칭찬할것이며, 단점은 단점대로 언급할 것 입니다. 제로 투 원 저자 : 피터 틸, 블레이크 매스터스 출판 : 한국경제신문 발매 : 2014.11.20. 2020/1/1 ~ 2020/1/16 찔끔찔끔 앞단원 읽다가 14일 서울에 눈오던날 한번에 8쳅터 정주행 하였습니다. 1. 책의 표지 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 표지는 내가 좋아하는 파란색 계열로 마음에 들었다. cover가 hard cover라 딱딱하다. 2. 쳅터 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 ▶ 목차 총 14쳅터까지 있는 책이다. 단원당 짧은 내용도 있고, 긴 내용.. Life/Book Record 2022. 1. 20. [알고리즘] 조합 알고리즘 조합 알고리즘 같은 경우 자주 사용한다는 글로 정리해두는 것 도 좋을것 같아 글을 작성해본다. 조합이란? " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 간단하게 0, 1, 2, 3, 4, 5 가 있다고 해보자. 이중 숫자 4개를 순서에 상관없이 선택하는 경우는 몇가지가 있는지를 파악하는 것 이다. 순서가 상관없으니, (0, 1, 2, 3) 과 (0, 1, 3, 2)는 같은 경우이다. 이는 DFS를 활용하여 구하면 된다. 생각의 흐름 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 tree를 그려보면서 생각해 보자. 빨간 선만 따라서 DFS를 진행하면 (0, 1, 2, 3) 이라는 하나의 조합이 나온다. 그다음은 0, 1, 2, 4 또 그다.. Algorithm/PS 알고리즘 정리 2022. 1. 20. [알고리즘] 다익스트라, 프림 알고리즘의 차이점 다익스트라 알고리즘과, 프림 알고리즘을 공부하면서 전체적인 틀이 BFS와 유사하지만, 약간의 차이점들이 있음을 느꼈다. 이를 정리겸 블로그에 글을 남겨본다. dist[] or d[] 의 의미 차이 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 통상적으로 두 알고리즘을 설명하는 책 이라면 dist[] 혹은 d[] 배열을 사용하여 알고리즘을 설명한다. 문제는 프림과 다익스트라 모두 dist 배열을 사용하기 때문에 처음 공부하는 입장에서는 같은 의미의 배열인 줄 알고 오해하는 경우가 있기 마련이다. (내가 처음 배울때 그랬다...) 참고로 다음 설명에서 나오는 집합 S는 이미 선택된 정점들의 집합을 의미한다. ▶ Prim 에서의 dist[] 프림 알고리즘에서 각 정점에 기록된.. Algorithm/PS 알고리즘 정리 2022. 1. 20. [서평] 윤성우의 열혈 자료구조 저의 돈으로 직접사서 직접 완독해본후 써보는 후기입니다. 따라서 장점은 장점대로 칭찬할것이며, 단점은 단점대로 언급할 것 입니다. 윤성우의 열혈 자료구조 저자 : 윤성우 출판 : 오렌지미디어 발매 : 2012.01.18. 2020/8/1 ~ 2020/12/7 (학교 수업과 병행하여 전반적인 자료구조론에 이 책으로 대해 독학하였습니다.) 1) 책의 표지 2) 단원별 구성 3) 읽은소감 우선 저의 글의 앞부분만 보는 분들을 위해 먼저 간단히 3가지에 대해 답해보겠습니다. Q 자료구조를 공부하기 전에 필요한 C언어 수준/ 지식은? => 최소한 C언어 문법은 다 알고있으셔야 합니다. C를 모른다면 코드를 전혀 이해하실수 없을 것 입니다. C언어 기초책이 아닌 C언어 라는 도구를 사용한 자료구조에 관한 책 입니다.. Life/Book Record 2022. 1. 20. [알고리즘] Union Find 알고리즘 : 경로 압축 기존에도 Union Find 알고리즘을 사용하기는 했지만, 경로 압축을 하고있지 않아 시간이 조금더 걸리는 문제가 있었다. 간단하게 경로압축을 할 수 있는 방법을 배워 글을 써본다. Union & Find " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 기본적인 Union Find 알고리즘의 구성은 다음과 같다. int Find(int num){ if(parent[num] == num) return num; return Find(parent[num]); } void Union(int a, int b){ a = Find(a); b = Find(b); if(a != b) parent[a] = b; } 맨 처음 parent 배열에서 각각은 자기 자신의 번호를 갖고 시작한다. 1.. Algorithm/PS 알고리즘 정리 2022. 1. 20. [알고리즘] Red-Black Tree : 레드 블랙 트리 스스로 공부해 본 후, 다시 정리하는 내용의 글 입니다. 틀린부분과 실수가 있다면 지적해주시면 감사하겠습니다. 레드 블랙 트리 또한 binary-search tree(이진탐색트리) 의 일종이다. 기존의 이진탐색트리 같은경우 input이 이미 정렬되있다면 높이가 n이 되버리고, 따라서 시간복잡도 또한 O(n)에 도달하게 된다. 하지만 레드 블랙 트리의 경우 특정 조건을 지키면서 균형잡힌 이진트리가 되기때문에 Search, Insert, Delete 연산을 최악의 경우에도 O(logN) 시간안에 가능하도록 해준다. 이번 포스트의 순서는 다음과 같다. 1) NIL node 의 설명 2) Red-Black tree의 정의 3) Red-Black tree의 높이 4) Left and Right rotation 5.. Algorithm/PS 알고리즘 정리 2022. 1. 19. 코딩테스트 효과적인 C++ 코드 작성 팁 해당 본문의 원문의 출처는 Geeks for Geeks 입니다. 이과생이 공부겸 번역한 딱딱한 어투의 글 입니다. 문제가 될시 삭제하겠습니다. Writing C/C++ code efficiently in Competitive programming - GeeksforGeeks A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions. www.geeksforgeeks.org 가끔 해외 유튜버들.. Algorithm/PS 알고리즘 정리 2022. 1. 19. 우아한형제들 개발자 채용설명회 : 후기 유튜브 를 통하여 이번 온라인 라이브 설명회를 듣고 몇가지 메모하기 위해 짧은 글을 작성합니다. 문제될시 삭제하겠습니다!! 목차 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 우선 배달의 민족의 핵심역할을 담당하는 딜리버리프로덕트, 배민셀프서비스 팀과 더불어 최근 1년정도 전부터 개설된 선물하기 팀의 설명이 먼저 진행 되었다. 이후 마지막 에서 진행된 인재영입팀의 설명회가 나의 주 목표였다. 인재영입팀이 안내하는 우아한형제들의 채용 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 1) 체용 Process 서류(지원서, 코딩테스트) -> 1차 실무 면접 (약 1시간) -> 2차 임원면접(약 1시간) 실무면접에서는 배달의 민족에 지원자가 얼마.. Life/컨퍼런스 2022. 1. 19. [시스템 프로그래밍] Parallel CNN 학교에서 수행한 과제를 정리하는 차원에서 적어보는 글 입니다. 문제될시 알려주시면 삭제하겠습니다. Convolutional Neural Networks 1. CNN 이란 무엇인가? " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 이번 학교 시스템프로그래밍 과제로 CNN(Convolutional Neural Networks)를 만들어보는 시간을 갖게 되었다. CNN이란 간단히 말하면 딥러닝에서 여러 사물의 이미지를 인식시킨후, 예시를 보여주어 이것이 무엇에 해당하는지를 이전에 학습한 데이터에서 찾아 ouput을 도출하는 것이다. 우리는 그중에서 convolution layer와 pooling layer를 구현하는것이 수업 과제였다. C를 기반으로 Linux환경에서 Messa.. CS/System Programming (2021-2) 2022. 1. 19. [시스템 프로그래밍] wait 함수 내가 공부한후 후에도 참고할겸 작성하는 글 입니다. 리눅스 시스템프로그래밍 2판을 참고하였습니다. 참고로 저는 WSL2 환경에서 공부중 입니다. 1. wait 이란 무엇인가? " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 보편적으로 부모 process는 자식 process들중 어떠한 하나가 종료되었을때 자식에 대한 좀더 많은 정보를 얻고자 한다. 만일 자식 process가 종료될때 완전히 사라진다면 예상할수 있듯 부모 process에서 조사할 수 있는 정보마저 사라진다. 따라서 UNIX의 초기 설계자들은 자식 process가 부모 process보다 먼저 죽을 경우 커널이 자식 process를 특수한 Zombie process 상태로 바꾸도록 설계하였다. Zombie pr.. CS/System Programming (2021-2) 2022. 1. 19. [시스템 프로그래밍] Zombie Process : 좀비 프로세스 내가 공부한후 후에도 참고할겸 작성하는 글 입니다. 리눅스 시스템프로그래밍 2판을 참고하였습니다. 참고로 저는 WSL2 환경에서 공부중 입니다. 1. Zombie process 란 무엇인가? " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 process가 실행을 마쳤지만 부모process에서 종료코드를 읽어가지 않은, 즉 여전히 시스템의 resource를 소비하고 있는 상태이다. 원래 child process가 종료된 경우 부모process가 child process의 뒷처리 작업(reaping) 을 해주어야 정상적으로 종료가 되는데, child process가 종료후 parent가 정리작업을 하지않은 상태를 말한다. 좀비 process는 최소한의 기본 뼈대만 유지할만.. CS/System Programming (2021-2) 2022. 1. 19. 이전 1 ··· 47 48 49 50 51 52 53 ··· 58 다음