2026/04/14 15

[혼공네트] Ch05. 응용 계층

※ 본 포스트는 [강민철, 『혼자 공부하는 네트워크』, 한빛미디어] 복습을 위해 작성된 글입니다.※ 비영리적인 순수한 학습 기록용이며, 원저작물의 권리는 저자 및 출판사에 있습니다.※ 저작권 문제가 있을 경우, 즉시 수정 또는 삭제하겠습니다.1️⃣ DNS와 자원01. 도메인 네임과 네임 서버도메인 네임 호스트의 IP 주소와 대응되는 문자열 형태의 호스트 특정 정보네임 서버 도메인 네임과 IP 주소를 관리하는 서버도메인 네임을 관리하는 네임 서버는 DNS 서버라고도 함도메인 네임의 계층적 분류루트 도메인 > 최상위 도메인 > 2단계 도메인 > ...전체 주소 도메인 네임(FQDN)도메인 네임을 모두 포함하는 도메인 네임FQDN의 첫 번째 부분을 호스트 네임이라고 함도메인 네임 시스템 (Domain Na..

CSE/Network 2026.04.14

[혼공네트] Ch04. 전송 계층

※ 본 포스트는 [강민철, 『혼자 공부하는 네트워크』, 한빛미디어] 복습을 위해 작성된 글입니다.※ 비영리적인 순수한 학습 기록용이며, 원저작물의 권리는 저자 및 출판사에 있습니다.※ 저작권 문제가 있을 경우, 즉시 수정 또는 삭제하겠습니다.1️⃣ 전송 계층 개요 : IP의 한계와 포트01. 신뢰할 수 없는 통신과 비연결형 통신IP의 특징 (한계)신뢰할 수 없는 프로토콜 패킷이 수신지까지 제대로 전송되었다는 보장을 하지 않음최선형 전달 (Best Effort Delivery)비연결형 프로토콜Tx, Rx 간에 사전 연결 수립 작업을 거치지 않음Rx를 향해 패킷을 보내기만 함IP는 신뢰성 있는 전송보다 빠른 송수신이 우선시되는 경우가 있음 02. IP의 한계를 보완하는 전송 계층전송 계층 L3 & L5..

CSE/Network 2026.04.14

[혼공네트] Ch03. 네트워크 계층

※ 본 포스트는 [강민철, 『혼자 공부하는 네트워크』, 한빛미디어] 복습을 위해 작성된 글입니다.※ 비영리적인 순수한 학습 기록용이며, 원저작물의 권리는 저자 및 출판사에 있습니다.※ 저작권 문제가 있을 경우, 즉시 수정 또는 삭제하겠습니다.1️⃣ LAN을 넘어서는 네트워크 계층01. 데이터 링크 계층의 한계L1, L2 만으로는 다른 네트워크 까지의 도달 경로 파악이 어려움라우팅(Routing)패킷이 이동할 최적의 경로를 결정하는 것라우터가 라우팅을 수행하는 대표적인 장비MAC 주소 만으로는 모든 네트워크에 속한 호스트의 위치를 특정하기 어려움IP 주소컴퓨터 네트워크에 연결된 장치에 할당된 숫자 식별자02. 인터넷 프로토콜IP 주소 지정(IP Addressing)IP 주소를 바탕으로 송수신 대상을 지정하..

CSE/Network 2026.04.14

[혼공네트] Ch02. 물리 계층과 데이터 링크 계층

※ 본 포스트는 [강민철, 『혼자 공부하는 네트워크』, 한빛미디어] 복습을 위해 작성된 글입니다.※ 비영리적인 순수한 학습 기록용이며, 원저작물의 권리는 저자 및 출판사에 있습니다.※ 저작권 문제가 있을 경우, 즉시 수정 또는 삭제하겠습니다.1️⃣ 이더넷01. 이더넷 표준이더넷(Ethernet)현대 LAN 환경에서 가장 대중적으로 사용되는 기술연결 매체의 규격, 송수신되는 프레임의 형태 등IEEE 802.3이더넷 관련 표준 규격들의 집합02. 통신 매체 표기 형태통신 매체 표기전송속도 BASE - 추가 특성종류역할BASE베이스밴드(BASEband)의 약자, 변조 타입 의미추가 특성통신 매체의 특성 명시03. 이더넷 프레임이더넷 프레임이더넷 네트워크에서 송수신되는 프레임프리앰블 + 수신지 MAC 주소 + ..

CSE/Network 2026.04.14

[혼공네트] Ch01. 컴퓨터 네트워크 시작하기

※ 본 포스트는 [강민철, 『혼자 공부하는 네트워크』, 한빛미디어] 복습을 위해 작성된 글입니다.※ 비영리적인 순수한 학습 기록용이며, 원저작물의 권리는 저자 및 출판사에 있습니다.※ 저작권 문제가 있을 경우, 즉시 수정 또는 삭제하겠습니다.1️⃣ 컴퓨터 네트워크를 알아야 하는 이유01. 컴퓨터 네트워크와 인터넷컴퓨터 네트워크(Computer Network, 네트워크)여러 장치가 그물처럼 서로 연결되어 정보를 주고 받을 수 있는 통신망인터넷 (internet)여러 네트워크를 연결한 '네트워크의 네트워크'02. 개발자가 컴퓨터 네트워크를 알아야 하는 이유프로그램을 만드는 업무라이브러리 등을 사용할 때 네트워크에 대한 배경지식이 있어야만 활용할 수 있는 기능들이 있음프로그램의 안정성과 안정성을 높이고 싶을 ..

CSE/Network 2026.04.14

[BOJ] #2263 트리의 순회

트리의 순회백준 #2263📌 문제예제 입력31 2 31 3 2예제 출력2 1 3📌 풀이Logic정점 개수 N 입력 받기inorder, postorder 입력 받기inorder: 루트의 위치를 찾아서 left / right 경계를 나누는 용도left -> root -> rightpostorder: postorder의 마지막 요소는 트리의 rootleft -> right -> rootpreorder stack 생성 [in 시작 idx, in 끝 idx, post 시작 idx, post 끝 idx]# 변수명n : 노드 개수inorder, postorder, preorder : 각 방식의 리스트inorder_index : 각 값의 인덱스를 찾기 위한 딕셔너리left_size : 현재 서브트리에서 root 기..

BOJ/Gold 2026.04.14

[BOJ] #2293 동전 1

동전 1백준 #2293📌 문제예제 입력3 10125예제 출력10📌 풀이Logic동전의 종류 n과 가치의 합 k 입력 받기각 동전의 가치 입력 받기DP 리스트 생성DP[x] = 합이 x가 되는 경우의 수# 변수명n : 동전의 종류k : 원하는 가치의 합coins : 각 동전의 가치dp : 합이 x가 되는 경우의 수Pythonimport sysinput = sys.stdin.readlinen, k = map(int, input().split())coins = [int(input()) for _ in range(n)]dp = [0] * (k + 1)dp[0] = 1for coin in coins: for s in range(coin, k + 1): dp[s] += dp[s - coin]p..

BOJ/Gold 2026.04.14

[BOJ] #9252 LCS 2

LCS 2백준 #9252📌 문제예제 입력ACAYKPCAPCAK예제 출력4ACAK📌 풀이Logic#9251에서 기능 추가가장 긴 LCS를 역으로 추적하는 방식str1, str2의 길이 i, j가 0이 될 때 까지,,각 str의 문자를 비교하며 LCS에 추가# 변수명str1, str2 : 비교할 두 문자열i, j : 두 문자열의 길이Pythonimport sysstr1 = sys.stdin.readline().strip()str2 = sys.stdin.readline().strip()dp = [[0] * (len(str2) + 1) for _ in range(len(str1) + 1)]for i in range(1, len(str1) + 1): for j in range(1, len(str2) + ..

BOJ/Gold 2026.04.14

[BOJ] #9251 LCS

LCS백준 #9251📌 문제예제 입력ACAYKPCAPCAK예제 출력4📌 풀이Logic두 문자열 입력 받기DP 테이블 생성2차원 배열 DP는 str1의 처음 i글자와 str2의 처음 j글자 까지의 LCS 길이를 저장str1[i - 1]와 str2[j - 1]이,,,같으면 공통 문자를 LCS에 추가다르면 둘 중 더 긴 LCS 선택DP[-1][-1] 출력 # 변수명str1, str2 : 비교할 두 문자열Pythonimport sysstr1 = sys.stdin.readline().strip()str2 = sys.stdin.readline().strip()dp = [[0] * (len(str2) + 1) for _ in range(len(str1) + 1)]for i in range(1, len(str1) ..

BOJ/Gold 2026.04.14

[BOJ] #2229 조 짜기

조 짜기백준 #2229📌 문제예제 입력102 5 7 1 3 4 8 6 9 3예제 출력20📌 풀이Logic학생 수 N, 학생들의 점수 scores 입력 받기DP 테이블 생성i번째 학생까지 고려할 때, 마지막 조의 시작점을 K로 정의K를 i - 1 ~ 0까지 줄여가며 diff 계산각 학생을 마지막으로 포함하는 조의 모든 경우 시도기존의 dp[i]값과 dp[k] + diff 중 큰 값으로 갱신# 변수명N : 학생 수scores : 학생들의 점수 리스트diff : 해당 범위에서 max - min 값Pythonimport sysN = int(sys.stdin.readline().strip())scores = list(map(int, sys.stdin.readline().split()))dp = [0 for _..

BOJ/Gold 2026.04.14