본문 바로가기

전체 글

(84)
CH1 : Computer Networks and the Internet (3) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * Network Performance Network의 performance는 다음 세가지를 평가한다. 1. Throughput : 우리가 네트워크 상에 실제로 얼만큼의 데이터를 보낼 수 있는지 (일반적으로 bit/second 단위로 표현) 2. Delay (latency) : 보낸 데이터가 얼만큼의 시간 후에 도착하는지 3. Loss : 얼만큼의 loss가 발생하는지 이번 챕터에서는 delay에 대한 내용을 다룰 것이다. Delay 딜레이는 보통 네가지로 나눌 수 있다. 1. queueing delay : 전송되기 까지 큐에서 기다리는 시간이다. 즉, router의 혼잡정..
CH1 : Computer Networks and the Internet (2) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * 네트워크 코어 네트워크 코어는 end system간의 통신을 담당한다. 이때 네트워크의 메시지 전달방식에는 크게 두가지가 있다. (Messeage-switching은 생략) 1. Circuit Switching(회선 교환 방식) 2. Packet Switching(패킷 교환 방식) 여기서 Packet Switiching은 다시 Datagram방식과 Virtual-Circuit방식으로 나뉜다. Circuit Switching (회선 교환 방식) 이 방식은 end system간의 통신에서 어떤 링크를 사용중이라면 이 링크는 다른 end system에서 사용할 수 없게하는 방..
CH1 : Computer Networks and the Internet (1) * 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. * 네트워크란? - The interconneciton of a set of devices capable to - PSTN(전화), Internet, cable network, N-ISDN, B-ISDN 등 인터넷이란? 인터넷은 네트워크의 한 종류라고 할 수 있다. - 네트워크의 네트워크 - 느슨한 계층적 구조 - 서로 연결된 독립적인 네트워크들을 이룬 set 인터넷 네트워크는 다음과 같은 구조로 이루어져있다. 호스트는 end system이다 : 네트워크 app을 실행중인 링크란 물리적으로 두개 이상의 노드를 연결하는 것이다. - fiber, copper, radio, sa..
C++ 백준 20171 (Dessert Cafe) 백준 20171 (Dessert Cafe) https://www.acmicpc.net/problem/20171 20171번: Dessert Café Your program is to read from standard input. The input starts with a line containing two integers, n and k (3 ≤ n ≤ 100,000 , 1 ≤ k ≤ n), where n is the number of candidate sites and k is the number of apartment complexes. The candidate sites are n www.acmicpc.net 일단 N개의 노드에서 항상 N-1개의 간선이 주어지므로 스패닝트리로 볼 수 있다. 이 문제..
C++ 백준 2270 (하노이 탑) 백준 2270 (하노이 탑) https://www.acmicpc.net/problem/2270 2270번: 하노이 탑 첫째 줄에 정수 n(1≤n≤100,000)이 주어진다. 둘째 줄에는 세 정수 a, b, c가 주어진다. 이는 차례로 1, 2, 3번 막대기에 꽂혀 있는 디스크의 개수이다. 이는 0이상 n이하이며, a+b+c=n이다. 다음 3개의 줄 www.acmicpc.net 기본 하노이탑 문제 응용버전이다. 하노이탑 기본문제 (1~N까지 차례로 쌓인 탑을 다른 rod로 옮기는 문제)는 여기(링크)에 있다. 꼭 이해하고 오자. 1~N까지의 차례로 쌓인 탑을 옮길때는 2^N-1만큼의 횟수가 소요된다고 했다. 그렇다면 탑이 차례로 쌓여있지 않고 뒤죽박죽 섞여있을 때는 어떻게 될까? 이 문제가 바로 그것이다...
C++ 백준 11729 (하노이 탑 이동순서) 백준 11729 (하노이 탑 이동순서) https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 하노이 탑은 유명한 문제지만 막상 구현 과정은 꽤 어렵다. 문제에서는 1~N까지 쌓여있는 하노이탑을 특정 rod로 옮기는 것이기 때문에 가장 기본적이 하노이 탑 문제라고 할 수 있다. 설명 1~N까지 차곡차곡 쌓여있는 탑을 어떻게 다른 탑으로 옮길까? 하노이 탑의 특성상 위에 놓일 탑은 아래에 있는 탑보다 항상 크기가 작아야 하기 때문에 꽤 복잡..
C++ 백준 1707 (이분 그래프) 백준 1707 (이분 그래프) https://www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V와 간선의 개수 E가 빈 칸을 사이에 www.acmicpc.net 이분 그래프(Bipartite Graph)에 대해 모른다면 구글링을 통해 알고오자! 그러나 문제에 자세한 설명이 쓰여져 있다. 설명 이분 그래프를 쉽게 설명하자면 인접한 노드끼리는 서로 다른 집합에 속해있어야 한다. 집합에 속해있다.. 유니온 파인드? 아니다. 집합의 개수가 두개밖에 없기때문에 유니온파인드를 쓸 필요는 없다. 그냥 DFS나 BFS를 돌면서 인접한 노드..
C++ 백준 5430 (AC) 백준 5430 (AC) https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net deque를 이용해 풀 수 있는 문제였다. deque에 대한 이해가 없다면 구글링을 해서 알아오도록 하자. 또한 입력이 [1,2,3]과 같이 숫자만 주어지는게 아니기 때문에 이를 처리하는 과정이 살짝 귀찮았다. 설명 수열을 저장 후 뒤집기와 pop을 반복하는 문제였다. 그러나 뒤집기를 할 때 algorithm헤더파일에 존재하는 reverse함수를 쓰게 될 경우 이 함수는 O(N)의 시간복잡도를 갖기 때문에 시간초과가 날것이라는 생..