Packet Switching 데이터를 패킷(Packet)이라는 단위로 쪼개서 전송 다음 링크로 전송하기 전에 저장을 한 뒤 전달하는 Store and Forward 방식을 따름 패킷는 출발지(Source)와 목적지(Destination) 정보가 있는 헤더와 데이터가 담겨 있는 Payload가 있음 여러 개의 패킷이 서로 다른 경로의 네트워크를 거치면서 마지막에목적지에서 전달받는 방식 패킷이 라우터의 큐에 대기하는 경우, 수용할 수 있는 큐의 범위를 초과하게 되면 데이터의 손실이 발생 Circuit Switching 하나의 회선을 할당받아 데이터를 주고받는 형식 통신을 위해 연결을 해야 하며, 연결이 되고 나면 출발지부터 목적지까지 도착하는데 사용하는 회선 전체를 독점하기 때문에 다른 사람이 끼어들 수 ..
Client-Server Model 클라이언트가 요청하면 서버가 응답하는 방식으로 작동 Ex) 사용자가 구글에 검색 → 클라이언트의 요청 구글 서버에서 검색 결과를 사용자에게 보냄 → 서버의 응답 클라이언트와 서버는 N대 1 구조로 연결 한 대의 서버에 다수의 검색자가 서비스를 요청하는 식 위와 같은 이유로 서버가 감당할 수 없는 만큼의 요청이 들어올 시, 서버가 다운되는 현상이 발생 구조적 특징 클라이언트 서비스를 요청하는 시스템, 데스크톱, 노트북, 스마트 폰, 태블릿 등이 이에 해당됨 (사용자가 서버로 요청을 보낼 수 있는 시스템) 서버 서비스를 제공하는 시스템, DB 서버, 웹 서버, 파일 서버, DNS 서버 등등 네트워킹 장치 클라이언트와 서버간의 통신을 가능하게 해주는 장치 스위치, 라우터, ..
P2P P2P(Peer-to-Peer)는 인터넷에 연결된 사용자들이 중개 기관(서버)를 거치지 않고 직접 데이터를 주고 받는 것 ‘Peer’란 동료라는 뜻으로, 네트워크에 연결된 모든 컴퓨터들이 서로 대등한 입장에서 데이터나 주변장치 등을 공유할 수 있음을 의미 구조적 특징 기존의 서버-클라이언트 방식의 데이터 전송은 서버에 데이터를 올려야 하고 다른 참여자가 해당 서버로부터 데이터를 받아오는 방식으로 동작 피어들 사이의 중앙, 중심, 센터의 개념이 없기 때문에 모든 사용자가 서로 데이터를 교환할 수 있음 하이브리드 P2P 중앙 서버가 존재하고, 해당 중앙 서버가 중개 및 검색을 제공하지만, 데이터 전송은 피어 간에 주고 받는 형식 퓨어 P2P 중앙 서버를 사용하지 않는 방식으로, 네트워크에 참여하는 모..
https://www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net 문제 설명 세계적인 도둑 상덕이는 보석점을 털기로 결심했다. 상덕이가 털 보석점에는 보석이 총 N개 있다. 각 보석은 무게 Mi와 가격 Vi를 가지고 있다. 상덕이는 가방을 K개 가지고 있고, 각 가방에 담을 수 있는 최대 무게는 Ci이다. 가방에는 최대 한 개의 보석만 넣을 수 있다. 상덕이가 훔칠 수 있는 보석의 최대 가격을 구하는 ..
https://www.acmicpc.net/problem/9987 9987번: 포켓몬 마스터 입력으로 포켓몬의 번호가 주어졌을 때, 그 포켓몬의 이름과 타입을 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 설명 입력으로 포켓몬의 번호가 주어졌을 때, 그 포켓몬의 이름과 타입을 출력하는 프로그램을 작성하시오. 입력 입력으로 포켓몬의 번호가 주어진다. 포켓몬의 번호는 718을 넘지 않는 자연수이다. 문제 풀이 http://web.archive.org/web/20140301191716/http://pokemondb.net/pokedex/national List of Pokémon (sprites gallery) | Pokémon Database The Wayback Machine - htt..
https://www.acmicpc.net/problem/21924 21924번: 도시 건설 첫 번째 줄에 건물의 개수 $N$ $(3 \le N \le 10^5 )$와 도로의 개수 $M$ $(2 \le M \le min( {N(N-1) \over 2}, 5×10^5)) $가 주어진다. 두 번째 줄 부터 $M + 1$줄까지 건물의 번호 $a$, $b$ $(1 \le a, b \le N, a ≠ b)$와 두 www.acmicpc.net 문제 설명 채완이는 신도시에 건물 사이를 잇는 양방향 도로를 만들려는 공사 계획을 세웠다. 공사 계획을 검토하면서 비용이 생각보다 많이 드는 것을 확인했다. 채완이는 공사하는 데 드는 비용을 아끼려고 한다. 모든 건물이 도로를 통해 연결되도록 최소한의 도로를 만들려고 한다. ..
https://www.acmicpc.net/problem/1167 1167번: 트리의 지름 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 www.acmicpc.net 문제 설명 트리의 지름이란, 트리에서 임의의 두 점 사이의 거리 중 가장 긴 것을 말한다. 트리의 지름을 구하는 프로그램을 작성하시오. 입력 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 매겨져 있다. 먼저 정점 번호가 ..
https://www.acmicpc.net/problem/2887 2887번: 행성 터널 첫째 줄에 행성의 개수 N이 주어진다. (1 ≤ N ≤ 100,000) 다음 N개 줄에는 각 행성의 x, y, z좌표가 주어진다. 좌표는 -109보다 크거나 같고, 109보다 작거나 같은 정수이다. 한 위치에 행성이 두 개 이 www.acmicpc.net 문제 설명 때는 2040년, 이민혁은 우주에 자신만의 왕국을 만들었다. 왕국은 N개의 행성으로 이루어져 있다. 민혁이는 이 행성을 효율적으로 지배하기 위해서 행성을 연결하는 터널을 만들려고 한다. 행성은 3차원 좌표위의 한 점으로 생각하면 된다. 두 행성 A(xA, yA, zA)와 B(xB, yB, zB)를 터널로 연결할 때 드는 비용은 min(|xA-xB|, |y..