Computer Science

    [네트워크] IP(Internet Protocol) 톺아보기 (Feat. IP 구조, IP 할당)

    목표 OSI 7 계층에서, 3 계층인 Network 계층의 대표적인 프로토콜, IP(Internet Protocol)에 대해서 톺아보겠습니다. 전체적인 구조와 흐름을 복습할 예정입니다. 개요 통신을 위해서는 많은 절차와 작업이 필요합니다. 이에, ISO(국제 표준화 기구)에서는 7 단계로 나눴고, 다들 잘 알고 계실 OSI 7 계층입니다. 복잡한 통신 과정과 흐름을 쉽게 확인할 수 있고, 문제가 발생했을 때 비교적 수월하게 해결할 수 있기 때문입니다. 다른 계층에서 어떤 작업을 하는지 신경쓸 필요 없이 내가 맡은 일만 잘 해내면 됩니다. 이번 포스팅에서는 7 계층 중, 3 계층인 Network 계층을 중심으로 확인하려고 합니다. Network 계층의 목적을 간략히 말씀드리면 다음과 같습니다. 데이터를 적..

    [백준] 1107번 리모컨, 파이썬 문제 풀이

    문제 백준 1107번 리모컨 문제를 해결했습니다. https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 문제 수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다. 리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로 이동하고, -를 누르면 -1된 채널로 이동한다. 채널 0에서 -를 누른 경우에는 채널이 변하지 ..

    [백준] 1003번 피보나치 함수, 파이썬 문제 풀이

    문제 백준 1003번 피보나치 함수를 진행했을 때 0, 1이 몇 번 출력되는지 세는 문제를 해결했습니다. https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 ..

    [백준] 11724번 연결 요소의 개수, 파이썬 문제풀이

    문제 백준 11724번 연결 요소의 개수를 해결했습니다. 노드와 간선의 수가 주어지면 연결되어 있는 연결 요소의 개수를 찾는 문제입니다. DFS를 활용해서 해결했습니다. https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 문제 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정점의 개수 N과 간선..