2021/05

    [Network] 전송계층 2

    http://www.kocw.net/home/cview.do?mty=p&kemId=1169634 이전에 Reliable Data Transfer를 구현하기 위해 어떤 것들이 필요했는지 이야기 했었다. RDT를 위한 파이프라인 형태의 전송 방식이 필요했는데 이에 사용되었던 것들이 go-back-N, Selective Repeat이었다. 이번에는 본격적으로 TCP에서 이야기 해볼 것이다. (TCP의 헤더 필드에 대해서) 티시피 헤더 알아보기. segment structure, rdt TCP point to point : 한 쌍의 통신을 한다. 프로세스와 프로세스들 간의 통신만을 관장한다. 즉 1:1(한 쌍)이며 더 자세히 보면 하나의 소켓과 하나의 소켓(소켓 한 쌍)끼리의 통신을 책임진다. reliable,..

    [프로그래머스] 소수 찾기

    https://programmers.co.kr/learn/courses/30/lessons/42839?language=swift 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 주어진 수의 경우의 수를 모두 구하고, 해당 수가 소수인지 카운트하여 총 개수를 반환하면 되는 문제 즉 "소수를 찾는 것", "조합"을 구현하는 것이 주 목적인 문제이다. 조합은 이전 후보키 문제에서도 했지만, 이번에는 순서가 뒤바뀌어도 되는 조합을 구해야한다. 즉 [A,B]와 [B,A]는 다르다는 것이다. 이 때문에 조..

    [프로그래머스] 후보키 (with Combination)

    https://programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr 우선 swift에는 combination 내장함수가 없다... 최근에 Swift Algorithm이라고 해서 패키지가 나왔다고는 하지만 코테 환경에서는 사용이 어려운 것 같다. 파이썬은 있던데... 아쉽지만 이번 기회에 combiantion..

    [Network] 전송계층1

    http://www.kocw.net/home/cview.do?mty=p&kemId=1169634 시작하기 전에 이전 강의 내용을 되돌아보자. reliable 하다는 것은 pkt error와 pkt loss가 없는 상황을 말한다. pkt error와 pkt loss는 하위 채널들과 같은 unreliable한 상태에서 발생한다. 각 상황을 해결해줄 수 있는 키워드만을 보자 pkt error error detection feedback retransmission seq # pkt loss timeout 이처럼 RDT는 신뢰성 있는 프로토콜을 제공하지만 성능이 별로였다. 왜냐? 1번에 1개의 pkt만 보냈었기 때문! 그래서 한 번에 여러 pkt들을 전송해주고 다시 받는 케이스를 지향해야한다. 그러한 방식들 중에..

    [LeetCode] Maximum Subarray

    https://leetcode.com/explore/featured/card/top-interview-questions-easy/97/dynamic-programming/566/ Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com [Dynamic Programming] 주어진 배열에서 연속된 subarray를 추출하여 나올 수 있는 합의 최댓값을 구하는 문..

    [프로그래머스] 가장 큰 수

    https://programmers.co.kr/learn/courses/30/lessons/42746?language=swift 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 주어진 수를 조합하여 가장 큰 수를 만들어 내는 것이 목표이다. 정렬을 우선적으로 해야하는 것은 알았는데 비교를 하며 정렬하는 방법을 구현해내지 못했었다. 그래서 한참을 고민하다가 여러 블로그, 답안들을 보고 깨우쳤다...! 처음에는 두 자리 이상의 수를 한 자리까지 내려..