본문 바로가기
728x90
반응형

Data Structure & Algorithm17

초보자도 따라할 수 있는 깃헙 Pull Request 보내는 방법 완벽정리! 1. Pull request 보내고자하는 레포지토리 상단의 'Fork'를 진행한다 2. 내 레포지토리로 Fork 된 레포지토리의 Code에서 클론을 위한 링크 클릭 git clone https://github.com/original/repo.git git clone 을 통해 clone진행 3. Clone한 폴더로 이동 (cd로 폴더이동을 한다는 의미) cd Face-X 4. commit을 진행할 새로운 브랜치 만들기 newbranch에 원하는 브랜치명 넣기 $ git checkout -b newbranch 5. 브랜치에 올리고 커밋하기 git add . git commit -m "commit message" 6. Push 보내기 git push origin newbranch 7. Github로 다시 돌아.. 2023. 4. 19.
나만 알고 싶은 코딩테스트 템플릿/ 인터뷰 준비 사이트 오랜만에 Leetcode에 들어가서 이것저것 끄적이다가 Interview준비 란에서 엄청 괜찮은 자료를 발견해서 링크 공유드립니다 :) 웹사이트 링크 Code Templates Stages of Interview CheatSheets 이렇게 3가지의 웹사이트가 있는데 Code Templates은 dfs,bfs 포인터 등 다양한 단골 유형의 문제에 써먹을 수 있는 기본 코드 템플릿이 무려 C++, Java, JavaScript, Python3 4가지 프로그래밍 언어로 쓰여져 있습니다. Stages of Interview는 인터뷰의 단계별 준비 꿀팁 가이드 같은게 적혀있고, Cheatsheets에서는 시간, 공간 복잡도를 쉽게 계산 할 수 있도록 말그대로 CheatSheet가 나와 있습니다. 누가 만든건지는.. 2023. 4. 13.
Monotonic Stack 개념 정리 (Push하고 Pop하고) Leetcode에 단골로 등장하는 인터뷰 질문 Monotonic Stack에 대해서 알아보겠습니다. Monotnic 영어 단어에서 알수 있듯, 단조 증가/ 단조 감소순으로 stack을 쌓아가며 값을 구해가는 데이터 구조인데요 예제를 통해 핵심 개념을간단히 먼저 보겠습니다. [6,5,4,7,8] 을 활용해 단조 감소 (Monotonic-decreasing) 스택을 쌓는다고 할 때, 6 >5 >4 ==> 리스트를 순회하며 stack에 쌓습니다 7 -> 8 ===> 값이 증가하기 때문에 stack에 쌓지 않고 pop합니다 우리가 알고 있는 stack 의 개념과 동일하지만, stack의 push와 pop을 진행하는 때가 요소들의 단조 증가/감소 여부에 달려있는 것이죠. 이렇게 단조 증가/감소에 맞지 않는 요소들.. 2022. 12. 1.
Merge Sort 과 Quick Sort 개념 및 활용 정리 미루고 미루던 Merge Sort와 Quick Sort 개념을 정리하고 공부해보겠습니다. 1. Quick Sort 평균 Time complexity : O(nlogn) 최악의Time complexity : O(n^2) 특정 요소를 기준으로 크고 작은 그룹을 단계적으로 재배치/분할하여 정렬하는 알고리즘 (요소 pivot 선택기준은 가장 왼쪽/오른쪽/랜덤/중간 등 다양한 값으로 선택가능) 2. Merge Sort 평균 Time complexity : O(nlogn) 최악의Time complexity : O(nlogn) 비교 기반의 정렬 알고리즘 동일한 길이의 조각으로 조각이 한개가 될 때까지 나누고 다시 쪼개진 조각들을 짝지어 작은 숫자, 큰 숫자 순으로 정렬해가면서 결국 하나의 정렬로 합치는 알고리즘 3... 2022. 11. 15.
필수 리눅스 (Linux) 명령어 정리 한번은 꼭 짚고 넘어가야 하는 필수 명령어들을 정리해보려 합니다! 미래의 저를 위해 여러 자료를 참고해서 정리해보겠습니다 ㅎㅎㅎㅎ 명령어 명령어 설명 pwd 현재 디렉토리 제시 (Print Work Directory) ls 파일/ 디렉토리 관련 정보 제공 (list segments) cd 현재 디렉토리로 이동 mkdir 새로운 디렉토리 만들기 (make directory) rmdir 비어있는 디렉토리 삭제 (remove directory) lsblk 리눅스 디바이스 상세 정보 출력 mount 기존 파일 시스템과 연결 df 디스크 사용량 정보 제공 uname 이름,버전,시스템관련 정보 출력 ps 동작 중인 작업 시각화 (Process status) kill 동작중인 작업 중지 service 리눅스 터미널의.. 2022. 11. 2.
Greedy 탐욕 알고리즘 정리 😮 Greedy 알고리즘이란? An algorithmic paradigm that follows the problem solving approach of making the locally optimal choice at each stage with the hope of finding a global optimum (Source : GeeksforGeeks) 위의 정의처럼 탐욕 알고리즘은 지역적(하나 하나의 케이스마다) 최적인 해를 찾아가면서, 최종적으로 전역의 최종해를 찾아가는 알고리즘을 의미합니다. 하지만, 실제적으로 지역적으로 최적해라고 해서 전역의 최적해라고 볼 수는 없기 때문에 2가지 조건이 존재합니다 1) 지역해의 선택을 통해 전역의 최적해를 도출할 수 있는 경우에 적용 가능 2) 전역 해 도출.. 2022. 10. 17.
728x90
반응형