전체 글 82

[Boj] 백준 C++ #2667 단지번호붙이기

📍알고리즘 분류: DFS, BFSDFS란 Depth First Search, 깊이 우선 탐색. 트리나 그래프에서 한 루트로 탐색하다가 특정 상황에서 최대한 깊숙이 들어가서 확인한 뒤 다시 돌아가 다른 루트로 탐색하는 방식이다. 재귀호출이나 스택 배열로 구현할 수 있다.📍문제풀이: 재귀호출 방식의 DFS로 문제를 풀었다. dfs가 처음 호출되면 인접한 집들을 다 탐색하여 한 단지를 구성하는 집의 개수를 모두 센다.📍코드#include #include #include #include using namespace std;#define MAX_N 26int map[MAX_N][MAX_N];bool visited[MAX_N][MAX_N];int dx[4] = {-1,1,0,0};int dy[4] = {0,0..

Boj 2024.08.11

[Boj] 백준 C++ #2309 일곱 난쟁이

https://www.acmicpc.net/problem/2309📍  풀이 방법: 합이 100이 되는 7명의 난쟁이를 구하는 것이 아니라, 9명의 난쟁이 키 합에서 뺐을 때 100이 되는 2명의 난쟁이를 구하면 된다. 📍 알고리즘 분류: 브루트포스brute force(무식한 힘). 즉 무식하게 가능한 경우의 수를 모두 탐색해보는 완전탐색 알고리즘.📍  소스코드#include #include using namespace std;int main() { int dwarf[9]; int sum = 0; for(int i=0;i> dwarf[i]; sum += dwarf[i]; } sort(dwarf,dwarf+9); for(int i=0;i 처음에 break문으..

Boj 2024.08.08

[컴퓨터 네트워크] Mobility

# 컴네 12일차 - 뒷부분모빌리티(이동성)에 대해서 알아볼 것이다.모바일 노드의 이동성을 처리하기 위한 방법은 2가지가 있다.1. 라우팅으로 처리하기라우터가 이동할 노드의 주소를 알리라우터가 이동 노드의 위치를 관리하여 엔드 시스템의 변경 없이 통신을 유지한다. 2. 엔드 시스템이 처리하기엔드 시스템이 이동 노드의 위치를 처리하는 두 가지 방법2-1. 간접 라우팅(indirect routing) : 홈 네트워크를 통해 이동 노드로 패킷을 전달2-2. 직접 라우팅(direct routing) : 송신자가 이동 노드의 외부 주소를 알고 직접 패킷을 전달용어 설명! 이동 장치가 네트워크를 이동할 때 발생하는 등록 과정(Mobility Registration) 단계 1:설명: 이동 장치가 방문한 네트워크에 진..

[컴퓨터 네트워크] WiFi - 12-1

# 컴네 12일차WiFi는 전자기기들이 무선 랜에 연결할 수 있게 해주는 기술로서 IEEE 802.11에 기반한다. 먼저 IEEE 802.11 랜 아키텍처를 살펴보자.무선 호스트들은 기지국(=base station, access point)들과 통신한다. BSS(Basic Service Set)이란 기지국이 데이터를 주고 받을 수 있는 범위를 말한다. cell이라고도 한다.802.11은 해당 범위의 주파수를 대략 11개의 채널로 나눈다. 같은 채널에 여러 AP가 있을 경우 간섭이 발생할 수 있다.호스트는 반드시 AP와 연결되어야 한다. 호스트는 채널을 스캔하여 AP의 이름(SSID)와 MAC 주소를 포함하는 비콘 프레임을 확인한 후 연결할 AP를 선택한다. 연결이 완료되면 DHCP를 통해 IP 주소를 할..

[컴퓨터 네트워크] LANs : addressing, ARP

#컴네 10일차 - (3)ARP(Address Resolution Protocol)란 주소 결정 프로토콜이다. IP주소를 MAC주소와 매칭시키기 위한 프로토콜이다.먼저 IP 주소와 MAC 주소 각각에 대해 알아보자.IP주소는 32bit(in IPv4)로 네트워크 계층(3계층)에서 패킷을 전달하는데 사용되는 주소이다.MAC주소는 대부분 48bit길이이며 로컬 네트워크 내에서 물리적으로 연결된 인터페이스 간의 통신(프레임 전달)을 위해 사용된다.중요한 차이점은 IP주소는 네트워크 3계층에서, MAC주소는 데이터 링크 2계층에서 사용된다는 것이다.LAN(Local Area Network)란 제한된 지리적 범위 내에서 네트워크를 형성하는 것이다. 각 LAN에 연결된 장치는 고유한 LAN주소를 가지고 있는데 이를..

[컴퓨터 네트워크] Wireless : Intro, CDMA

# 컴네 11일차 - 뒷부분지금까지는 유선을 기본으로 살펴보았는데 이제 무선에 대해 알아볼 것이다. wireless와 mobility는 비슷하지만 다르다. wireless는 링크가 무선인 네트워크를 의미하고 mobility는 사용자가 움직이는 것이다.무선 네트워크는 wireless hosts, base station, wireless link, infrastructure mode로 구성된다.wireless hosts(무선 호스트)는 노트북, 스마트폰 같은 장치를 의미한다. 애플리케이션을 실행하고, stationary(고정형, 비이동) 혹은 mobile(이동형)이다. 무선이 항상 mobility만을 의미하는 것은 아니다.Base Station(기지국)은 주로 유선 네트워크에 연결된다. 중계 역할을 수행하며..

[컴퓨터 네트워크] Link layer - Multiple Access Protocol

# 컴네 10일차 - 2 link layer에서의 introduction, service(6.1), error detection & correction(6.3)에 대해서 알아보았다.link에는 두가지 타입이 있다. point-to-point, broadcastpoint-to-point타입은 링크의 한쪽 끝에 송신자가, 다른 끝에 수신자가 존재하는 것이고broadcast는 동일한 하나의 공유된 브로드캐스트 채널에 다수의 송신 노드 및 수신 노드가 연결된 것이라고 한다.single shared broadcast channel에서 여러 노드가 하나의 채널을 공유하고 있을 때, 여러 노드가 동시에 데이터를 보내면 충돌이 발생하기 때문에 이러한 환경에서는 multiple access protocol, 다중 접근 ..

[컴퓨터 네트워크] Link layer - Introduction, Error Detection & Correction

# 컴네 10일차 - 1Link layer - Introduction이제 2계층, Link layer를 배운다. 우리가 컴퓨터 네트워크 과목에서 다룰 마지막 계층이다. physical layer(물리 계층)는 하드웨어쪽이므로 우리가 소프트웨어적으로 배우지 않는다.Link layer에서는 내가 전달하고자 하는 데이터를 어떻게 다음 노드에 전달할 것인지가 핵심이다. Link layer에서의 services로는 framing, link access, reliable delivery between adjacent nodes가 있다. framing은 데이터그램에 헤더와 트레일러를 추가해 프레임으로 캡슐화하는 것이다.또한 flow control, error detection, error correction, 링크 ..

[컴퓨터 네트워크] 4일차

파일 배포 시간: Client-Server model서버 전송: 서버는 N개의 파일 복사본을 순차적으로 전송해야 한다.한 복사본을 전송하는 시간: $ \frac{F}{u_{s}}$N개의 복사본을 전송하는 시간:  $\frac{N F}{u_{s}}$클라이언트: 각 클라이언트는 파일 복사본을 다운로드해야 한다.$d_{min}$ = 가장 느린 클라이언트의 다운로드 속도가장 느린 클라이언트의 다운로드 시간 :  $\frac{F}{d_{min}}$클라이언트 서버 방식을 사용하여 N개의 클라이언트에게 F파일을 배포하는 시간${D_{c-s}}\geq max({\frac{N F}{u_{s}}, \frac{F}{d_{min}}})$서버의 총 업로드 시간, 가장 느린 클라이언트가 파일을 다운로드하는 데 걸리는 시간 중 더..

[컴퓨터 네트워크] 2일차 수업 (Introduction/Application Layer)

4. Performance: loss, delay, throughput데이터의 loss와 delay발생네트워크의 어느 한 지점에서 데이터가 너무 많이 들어와서(도착 속도가 너무 빨라서) 이 데이터가 다른 지점으로 나가는 용량을 초과할 때 패킷 손실이 발생하게 된다. 라우터의 버퍼가 가득 차서 더 이상 데이터를 수용할 수 없게 되고, 새로운 패킷들은 버려지게 된다.패킷 지연시간은 총 4가지의 요소가 더해져서 계산된다.1. 노드 처리 지연(Nodal Processing Delay)- 패킷이 라우터에 도착하여 처리되는 시간- 비트 오류 확인, 출력 링크 결정2. 큐잉 지연(Queueing Delay)- 패킷이 출력 링크에서 전송되기 위해 대기하는 시간- 라우터의 혼잡 수준에 따라 달라짐3. 전송 지연(Tran..