전체 글(334)
-
[Leetcode] 442. Find All Duplicates in an Array
문제: Given an integer array nums of length n where all the integers of nums are in the range [1, n] and each integer appears once or twice, return an array of all the integers that appears twice. You must write an algorithm that runs in O(n) time and uses only constant extra space. Example 1: Input: nums = [4,3,2,7,8,2,3,1] Output: [2,3] Example 2: Input: nums = [1,1,2] Output: [1] Example 3: Inp..
2024.03.26 -
[Data Structure] Graph
1. Graph란? Graph란 데이터 간의 복잡한 관계도를 표현할 수 있는 Data Structure다. 예를 들어, 내 친구 4명 A, B, C, D가 있다. 나는 친구들을 모두 알지만, 친구들끼리는 서로 모른다고 가정하자. 이러한 관계를 명확하게 표현할 때 이용할 수 있다. 또 다른 예시로는 , 비행기 루트를 들 수 있다. 한국에서 일본을 간다고 가정하자. 이때 갈 수 있는 경로는 매우 많다. 예를들어, 제주도를 경유해서 가도 되고, 파리를 경유해서 가도 된다. (물론 예시일 뿐이니 가볍게 생각해 주기 바란다.) 이럴 때, 관계를 나타내보면 다음과 같이 나타낼 수 있다. "한국 ---> 제주도 ---> 일본 or 한국 ---> 파리 ---> 일본 or 한국 ---> 제주도 ---> 파리 ---> 일..
2024.03.23 -
[Data Structure] Binary Tree
1. Binary Tree란? 위 사진은 Binary Tree의 구조를 나타내는 사진이다. 앞서 설명한 General Tree와 다른 점이 보이는가? 그건 바로 child가 최대 2명이라는 거다. 그럼 여기서 의문이 든다. child를 여러 명으로 생성하는 General Tree를 쓰지 왜 child가 두 명으로 제한되는 Binary Tree를 쓰는 것인가? 그것은 바로 데이터를 찾을 때 유용하기 때문이다. 예를들어, 리스트에 들어있는 숫자 중에서 내가 원하는 숫자를 찾는다고 가정하자. 이럴 경우, 처음부터 찾아가기 시작하여 시간복잡도가 크다. 만약 이 시간 복잡도를 줄이기 위해서는 어떻게 해야 할까? 그건 바로 규칙을 정해 수를 나누는 거다. 이 과정에서 Binary Tree를 쓰면 시간복잡도가 O(l..
2024.03.23 -
[Data Structure] General Tree
1. General Tree란? General Tree란 일반적인 Tree 구조를 말한다. Tree의 기본단위는 기본적으로 부모와 자식으로 구성되어 있다. 이러한 pattern이 여러번 반복되어있는 구조가 Tree를 이루게 된다. 아래 그림을 보고 이해 해보자. 여기서 동그라미로 표현 되어 있는 부분을 Node라고 한다. Node에는 parent 와 child의 개념이 중요하다. 실제 단어의 뜻과 똑같게 해석하면 된다. Q라는 노드가 있다. Q의 자식 노드는 무엇인가? 바로 C, N , R 이다. 그렇다면 C의 부모노드는 무엇인가? 바로 Q노드이다. General Tree는 자식이 몇명있던지 상관이 없다. Q처럼 자식이 3명이 있어도 된다. 또한 F처럼 자식이 2명이 있어도 된다. 이러한 점이 Binar..
2024.03.23 -
코로나 바이러스에 대하여 알아보자.
1. 코로나 바이러스란 무엇인가? --> 코로나바이러스는 사람과 동물에게 호흡기 질환을 유발하는 바이러스의 총칭이다. 코로나바이러스는 크기가 크고 표면에 돌출부가 있어 왕관(corona)처럼 보인다고 해서 이름이 붙여졌다. 코로나 바이러스의 종류에는 세 가지가 있다. 첫 번째, 2003년에 유행했던 사스, 2012년에 유행했던 메르스, 2019년에 유행했던 코로나 19이다. 2. 주요 특징 --> 코로나바이러스가 우리몸에 침투하면 일반적으로 2~14일 정도 잠복기를 가진다. 그 후, 상기도와 하기도에 영향을 줄 수 있다. 상기도 같은 경우는 발열, 기침, 인후통, 코막힘, 재채기등이 있다. 하기도 같은 경우는 호흡곤란과 폐렴등이 나타날 수 있다. 3. 전파 방식: -->감염된 사람의 기침이나 재채기를 통..
2024.03.16 -
스페인 독감에 대하여 알아보자.
1. 스페인 독감이란 무엇인가? --> 스페인 독감은 1918년부터 1920년까지 전 세계적으로 유행했던 인플루엔자 바이러스다. 스페인 독감은 역사상 가장 치명적인 팬데믹 중 하나였으며, 전 세계적으로 5천만 명 이상의 사망자를 발생시켰다. 2. 주요 특징 --> 스페인 독감에 걸리게 되면 갑작스러운 발열, 심한 기침, 근육통, 두통, 인후통, 피, 폐렴등이 나타날 수 있다. 3. 전파 방식: -->첫 번째로, 감염된 사람의 기침이나 재채기를 통해 나오는 작은 입자를 들이마시면 감염될 수 있다. -->두 번째로, 바이러스가 포함된 표면을 만지고, 그 후 눈, 코, 입을 만지면 감염될 수 있다. 4. 치료: --> 진통제, 수분 보충, 충분한 휴식 외에 현재까지 특정 치료법은 없다.
2024.03.16