반응형 전체 글364 간단한 이진-tree 만들기(들어온 순서대로 만들기) 1. 목표 C++ 사용해 간단한 tree구조를 만들어보겠습니다. 입력한 순서대로 만들어지는 2진-tree를 만들것입니다. 예를들어 1, 2, 3, 4, 5, 6, 7, 8 이 들어온다면 다음과 같이 만드는 것이 목적입니다. queue를 이용한 bfs 방법으로 만들었습니다. 2. 만들기1) 우선 간단한 Tree와 요소를 담을 vector, 자료를 처리할 queue를 선언합니다.#include #include #include using namespace std; class tree {private: int num; tree* right; tree* left;public: tree() { right = NULL; left = NULL; num = 0; } ~tree() { delete(right); delet.. 2020. 9. 28. 프로그래머스] C++ 깊이/너비 우선 탐색(DFS/BFS) - 가장 먼 노드(level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/49189 1. 문제 n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요.제한사항노드의 개수 n은 2 이상 20,000 이하입니다.. 2020. 9. 11. 프로그래머스] C++ 깊이/너비 우선 탐색(DFS/BFS) - 네트워크(level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/43162 1. 문제네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution .. 2020. 9. 10. 프로그래머스] C++ 깊이/너비 우선 탐색(DFS/BFS) - 단어 변환(level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/43163 1. 문제 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","dog","lot","log","cog"]라면 "hit" -> "hot" -> "dot" -> "dog" -> .. 2020. 9. 9. 2편] 멀티 프로세스, 멀티 쓰레드, 멀티 플렉싱에 대해서... 앞전에 동기, 비동기, 블로킹, 논 블로킹에 대해 설명을 했습니다. 이와 이어지는 내용입니다. 예제의 이해를 쉽개 하기 위해서 통신할때를 가정으로 두고 진행하겠습니다. 1. 멀티 프로세스말그대로 프로세스를 여러게 이용하는 것입니다. 클라이언트당 프로세스 하나를 물리는 것이죠. 이런식으로 프로세스를 늘리는 것이죠. 하지만 이런 방식은 굉장히 비효율적입니다. 프로세스 자체는 하나의 프로그램단위로 굉장히 큽니다. 또한 Context switching으로 인해 시스템 저하도 발생하죠. 흔히 알고있는 fork()로 만드는 것이 이 프로세스입니다. 위와 같은 단점때문에 쓰레드라는 개념으로 통신을 하기 시작합니다. 2. 멀티 쓰레드쓰레드는 프로세스보다 작은 단위이며 프로세스 안에서 논리적으로 동작하는 하나의 작업단위.. 2020. 9. 8. 프로그래머스] C++ 연습문제 - 이중우선순위큐(level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/42628 1. 문제이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다.명령어수신 탑(높이)I 숫자큐에 주어진 숫자를 삽입합니다.D 1큐에서 최댓값을 삭제합니다.D -1큐에서 최솟값을 삭제합니다.이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요.제한사항operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다.operati.. 2020. 9. 8. 이전 1 ··· 17 18 19 20 21 22 23 ··· 61 다음 728x90 반응형