-
제네릭 함수 map(_:) 사용하기General/💡 Algorithm 2021. 2. 25. 23:55
Swift 카테고리에도 해당되지만, 처음 사용해야겠다고 생각한 것이 알고리즘 문제를 풀면서이기 때문에 이 쪽에 글을 올리게 되었습니다. 현재 제가 사용하려는 목적은 단 한 가지 입니다! 목적 불필요한 자료구조 초기화 코드를 없애고, for-in 문을 사용하지 않는 깔끔한 코드를 짜기 위해서 다른 활용 방법은 필요할 때 나중에 익혀서 활용하려고 합니다. 맵을 사용할 수 있는 곳 배열, 딕셔너리, 세트 등 Sequence, Collection 프로토콜 을 채택한 타입과 옵셔널 맵 호출시 일어나는 일 1. 컨테이너가 담고 있는 각각의 값을 파라미터로 전달받은 함수에 적용합니다. 2. 값들을 다시 포장하여 새로운 컨테이너에 포장하여 반환합니다. 모든 값을 순회하므로 시간복잡도는 O(n) 이 되겠습니다! map ..
-
isEmpty 와 count == 0General/💡 Algorithm 2021. 2. 25. 11:04
스위프트에서 isEmpty 는 항상 O(1) 의 시간 복잡도를 가집니다. 반면에 count == 0 은 RandomAccessCollection 프로토콜 을 채택하지 않은 자료구조라면 우선 해당 자료구조를 전체 순회하므로 O(n) 의 시간복잡도를 가집니다. " 가장 대표적인 컬렉션 3가지: List ( O ) , Set ( X ) , Dictionary ( X ) " public mutating func dequeue(_ element: T) -> T? { if self.isEmpty { return nil } return array.removeFirst() } 따라서 사용하는 자료구조에 따라 O(1) 으로 구현할수 있는 메서드도 O(n) 이 될 수 있으므로 주의해야 합니다. 끝!
-
Roadmap (3) - Computer NetworkGeneral/🕸 Network 2021. 2. 4. 10:43
How do packet delay and loss occur? " 패킷 딜레이와 패킷 로스는 어떻게 발생하는가? " 패킷이 라우터 버퍼에 들어온 순서대로 쌓이고, 전송이 될 차례를 기다립니다. 나가는 쪽의 링크 용량이 들어오는 속도보다 (일시적으로) 증가하면, 큐의 길이는 증가합니다. 버퍼의 용량이 가득찬 순간부터 packet loss 가 발생합니다. Packet delay: four sources " 패킷 딜레이에 관련된 4가지 요소가 있습니다. " #queueing delay proc : nodal processing ( 거의 고정적 ) 비트 에러를 체크, 나갈 링크를 선택합니다. ```queue: queueing delay (가변적)``` 전송을 위해 기다리는 시간 라우터의 복잡도에 의해 결정됩니..
-
Roadmap (2) - Computer NetworkGeneral/🕸 Network 2021. 1. 20. 12:42
강의: 이화여대 KOCW 컴퓨터 네트워크 교안: Computer Networking: A Top Down Approach 중요하다고 생각되는 부분 위주로 복기하였습니다. Circuit switching physical media 중 guided media로 통신할 때, 사용할 수 있는 자원이 한정되어 있습니다. 자원 예약 ( set up & reserve ) 시 다른 host는 그 링크를 사용할 수 없습니다. 한 host가 독점하면 OS에서의 starvation 과 같은 현상이 발생할 것입니다. 따라서 자원 분할 이 필요합니다. FDM versus TDM " 자원 분할 방법 " Frequency Division Multiplexing: 주파수 대역을 기준으로 사용자를 자원을 점유합니다. Time Divi..
-
Roadmap (1) - Computer NetworkGeneral/🕸 Network 2021. 1. 14. 22:20
강의: 이화여대 KOCW 컴퓨터 네트워크 교안: Computer Networking: A Top Down Approach 인터넷의 구성요소 크게 3가지입니다. 1. Hosts 인터넷의 가장자리에 위치한 사용자 컴퓨터와 서버 communication application을 hosting 하고 있기 때문에 붙여진 이름 2. 라우터 혹은 스위치 네트워크의 중앙에 위치하여, 사용자의 메시지가 목적지를 찾아가게 해 줍니다. 3. 마지막으로 위 둘을 연결해주는 link ( 혹은 communication link) 물리적인 회선들 인터넷은 네트워크들의 네트워크 " networks of networks " 여러가지의 네트워크들로 구성이 되어 있습니다. 프로토콜 표준화가 매우 중요합니다. 프로토콜이란? 통신 약속으로서,..
-
마크다운 문법 간단 정리General/🟢 General 2021. 1. 5. 20:23
Header # 제목 1 ## 제목 2 ### 제목 3 #### 제목 4 Emphasis *이탤릭* _이탤릭_ **두껍게** __두껍게__ **_두꺼운이탤릭_** (복합 가능) ~~취소취소~ (strikethrough) 밑줄 List ordered list 와 unorderd list 1. 순서 리스트 2. 순서 리스트 - 서브 리스트 - 서브 리스트 -unorderd list * unordered list + unordered list Link [Google](https://google.com) [Naver](https://naver.com, " 링크 설명 추가 법 ") 참조 링크 그대로 사용 (2가지 방법) 1. http://google.com 2. Image ![피카츄](mblogthumb-phin..