전체 글
-
[Git] Git 명령어 모음Github 2022. 12. 3. 17:07
1. Git 영역 - Working Directory ( Local ) : 개인 코드 작성 - Staging area : git add를 통해 수정된 코드를 올리는 영역 - Repository : git commit 을 통해서 최종 수정본을 제출 2. github업로드 절차(프로세스) 1. github 원격 저장소 생성 2. github 원격 저장소 clone(복제하기) 3. 내 로컬(컴퓨터)에 프로젝트 생성 후, 복제한 원격 저장소 다운받기 4. 내 로컬의 원격 저장소 폴더에서 작업(코딩)하기 5. add : 작업한 파일 중에서 원격 저장소에 반영할 부분 추가하기 6. commit : 먼저 로컬(내 컴퓨터)에서 수정된 소스 파일 반영하기 7. push : 로컬(내 컴퓨터)에서 수정한 소스 파일을 git..
-
[VSCode] c++17 설정Programming/c++ 2022. 12. 3. 13:27
visual studio code에서 c++를 잘 사용해왔는데, C++17버전에서는 잘 돌아가는 문법이 내가 사용하고 있는 VSCode에서는 적용되지 않아 C++17로 변경하였다. C++ 컴파일러를 C++17로 설정하는 방법을 포스팅하겠습니다~ 1. F1 > c/c++ configurations 에서 c17, c++17을 선택합니다. 이 항목만 설정한다고 c++17이 설정되지 않습니다. 2. c_cpp_properities.json 파일을 수정합니다. "cStandard": "c17", "cppStandard": "c++17", "compilerArgs": ["-std=c++17", "-stdlib=libc++"] 3. tasks.json 파일도 수정합니다. "-std=c++17", 4. 빌드 확인 C+..
-
[LeetCode] 590. N-ary Tree Postorder Traversal c++Coding Test/LeetCode 2022. 11. 29. 18:51
문제 Given the root of an n-ary tree, return the postorder traversal of its nodes' values. Nary-Tree input serialization is represented in their level order traversal. Each group of children is separated by the null value (See examples) Example 1: Input: root = [1,null,3,2,4,null,5,6] Output: [5,6,3,2,4,1] 문제 해결 DFS문제 class Solution { public: vector postorder(Node* root) { if(!root){ return {}; } ..
-
[LeetCode] 1971. Find if Path Exists in Graph c++Coding Test/LeetCode 2022. 11. 29. 17:57
문제 There is a bi-directional graph with n vertices, where each vertex is labeled from 0 to n - 1 (inclusive). The edges in the graph are represented as a 2D integer array edges, where each edges[i] = [ui, vi] denotes a bi-directional edge between vertex ui and vertex vi. Every vertex pair is connected by at most one edge, and no vertex has an edge to itself. You want to determine if there is a v..
-
[Algorithm] DFS( Depth-First Search), BFS(Breadth-First Search)Computer Science/Algorithm 2022. 11. 28. 19:18
1. DFS 최대한 깊이 내려간 뒤, 더 이상 깊이 갈 곳이 없을 경우 옆으로 이동 로투 노드(혹은 임의의 다른 노드)에서 시작해서 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방식 ▶모든 노드를 방문하고자 하는 경우에 이 방법을 선택 ▶깊이 우선 탐색(DFS)이 너비 우선 탐색(BFS)보다 좀 더 간단함 ▶검색 속도 자체는 BFS에 비해서 느림 ▶ 스택, 재귀함수로 구현 ① 탐색 시작 노드를 스택에 삽입하고 방문처리 ② 스택의 최상단 노드에 방문하지 않은 인접한 노드가 하나라도 있으면 그 노드를 스택에 넣고 방문처리 ③ 위 과정을 수행할 수 없을때까지 반복 - 노드 방문 시 방문(Visited)여부를 반드시 검사해야 한다. 아니면 무한 루프에 빠질 수 있음. - 탐색 과정이 ..
-
[CS] Graph, TreeComputer Science/CS 2022. 11. 28. 18:44
트리 ⊂ 그래프 그래프 노드(하나의 점)와 노드 간을 연결하는 간선으로 구성된 자료 구조이다. 순환 혹은 비순환 구조를 이룬다. 그래프의 구현 방법은 2가지 방식이 있습니다. - 인접 행렬(adjacency matrix) : 2차원 배열을 사용하는 방식 - 인접 리스트(adjacency list) : 리스트를 사용하는 방식 두 방식의 메모리와 속도 차이는 다음과 같습니다. V : 노드의 개수, E : 간선의 개수 일 때, 인접 행렬은 O(v^2), 인접 리스트는 O(E) 만큼의 메모리 공간이 요구됩니다. 인접 행렬은 O(1), 인접 리스트는 O(V)만큼의 시간이 소요됩니다. 트리 그래프와 같이 노드와 노드 간을 연결하는 간선으로 구성된 자료 구조이다. 트리는 두 개의 노드 사이에 반드시 1개의 경로만을 ..
-
[프로그래머스] 숫자 카드 나누기 c++Coding Test/programmers 2022. 11. 25. 15:10
문제 설명 철수와 영희는 선생님으로부터 숫자가 하나씩 적힌 카드들을 절반씩 나눠서 가진 후, 다음 두 조건 중 하나를 만족하는 가장 큰 양의 정수 a의 값을 구하려고 합니다. 철수가 가진 카드들에 적힌 모든 숫자를 나눌 수 있고 영희가 가진 카드들에 적힌 모든 숫자들 중 하나도 나눌 수 없는 양의 정수 a 영희가 가진 카드들에 적힌 모든 숫자를 나눌 수 있고, 철수가 가진 카드들에 적힌 모든 숫자들 중 하나도 나눌 수 없는 양의 정수 a 예를 들어, 카드들에 10, 5, 20, 17이 적혀 있는 경우에 대해 생각해 봅시다. 만약, 철수가 [10, 17]이 적힌 카드를 갖고, 영희가 [5, 20]이 적힌 카드를 갖는다면 두 조건 중 하나를 만족하는 양의 정수 a는 존재하지 않습니다. 하지만, 철수가 [10..