분류 전체보기

    [백준(BOJ)] #10026- 적록색약 (파이썬, Python3)

    문제 https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 문제 풀이 DFS 알고리즘 적용! 2022.07.12 - [PS/알고리즘 이론] - [파이썬으로 배우는 알고리즘] DFS(깊이 우선 탐색) [파이썬으로 배우는 알고리즘] DFS(깊이 우선 탐색) DFS란? DFS(Depth First Search)는 그래프의 모든 노드를 탐색하는 방법 중 하나로, 깊이를 우선으로 탐색한 후 더 이상 탐색할 노드가 없다면 이전으로 돌아가 탐색을 이어나가..

    [백준(BOJ)] #2014- 소수의 곱 (파이썬, PyPy3)

    문제 https://www.acmicpc.net/problem/2014 2014번: 소수의 곱 첫째 줄에 K(1 ≤ K ≤ 100), N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 K개의 소수가 오름차순으로 주어진다. 같은 소수가 여러 번 주어지는 경우는 없으며, 주어지는 소수는 모두 541보다 작거나 www.acmicpc.net 문제 풀이 우선순위 큐를 사용해 문제를 해결할 수 있습니다. 2022.07.19 - [CS/자료구조] - [파이썬으로 배우는 자료구조] 우선순위 큐(Priority Queue), 힙(Heap) [파이썬으로 배우는 자료구조] 우선순위 큐(Priority Queue), 힙(Heap) 우선순위 큐(Priority Queue)란? 일반적인 큐(Queue) 자료구조는 FIF..

    [백준(BOJ)] #1507- 궁금한 민호 (파이썬, PyPy3)

    문제 https://www.acmicpc.net/problem/1507 1507번: 궁금한 민호 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에 각각의 도시 사이에 이동하는데 필요한 시간이 주어진다. A에서 B로 가는 시간과 B에서 A로 가는 시간은 같다. 또, A와 B www.acmicpc.net 문제 풀이 입력으로 모든 도시로 가는 최소 이동 시간이 주어져 이를 역으로 풀어야 합니다. 즉, 플로이드 워셜 알고리즘을 역으로 적용하는 문제입니다. 2022.08.01 - [PS/알고리즘 이론] - [파이썬으로 배우는 알고리즘] 플로이드 워셜(Floyd Warshall) 알고리즘 [파이썬으로 배우는 알고리즘] 플로이드 워셜(Floyd Warshall) 알고리즘 플로이드 ..

    [운영체제] 메모리 계층 구조(Memory Hierarchy)

    메모리 계층 구조(Memory Hierarchy)란? 메모리 계층 구조는 메모리를 속도, 용량, 비용간의 절충 관계를 고려하여 필요에 따라 여러 가지 종류로 나타낸 구조를 의미합니다. 계층 구조에서 위쪽으로 올라갈수록 CPU 코어에 가까워지기 때문에 CPU가 메모리에 더 빨리 접근할 수 있지만, 그만큼 비용이 많이 들며 저장 용량이 적습니다. 레지스터(Register) 레지스터는 CPU에 위치한 고속 메모리로 CPU가 바로 사용할 수 있는 데이터를 저장합니다. CPU(Central Process Unit) 중앙 처리 장치라고 불리며 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할하는 컴퓨터의 대뇌라고 할 수 있는 장치입니다. CU(Control Unit) 제어 장치라고 불리며 CPU의 한..

    [네트워크] 라우팅(Routing)

    라우팅이란? 지난 시간에 OSI 7계층과 TCP/IP 4계층을 설명했을 때 네트워크 계층에서 패킷을 목적지까지 안전하고 빠르게 전송하기 위해 경로를 찾아준다고 했습니다. 이렇게 최적의 경로를 탐색하는 것을 라우팅(Routing)이라고 합니다. 라우터(Router)라는 장치를 통해 경로 지정을 하여 라우팅을 능동적으로 처리할 수 있습니다. 이때 라우터는 목적지를 찾아갈 때 *라우팅 테이블(Routing Table)을 보고 찾아갑니다. *라우팅 테이블(Routing Table): 네트워크에서 목적지 주소를 목적지에 도달하기 위한 네트워크 노선으로 변환시키는 목적으로 사용된다. 각 라우터의 라우팅 테이블은 모든 목적지 정보에 대해 목적지에 도달하기 위해 거쳐야 하는 다음 라우터의 정보를 갖고 있다. 라우터의 ..

    [백준(BOJ)] #1561- 놀이 공원 (파이썬, PyPy3)

    문제 https://www.acmicpc.net/problem/1561 1561번: 놀이 공원 첫째 줄에 N(1 ≤ N ≤ 2,000,000,000)과 M(1 ≤ M ≤ 10,000)이 빈칸을 사이에 두고 주어진다. 둘째 줄에는 각 놀이기구의 운행 시간을 나타내는 M개의 자연수가 순서대로 주어진다. 운행 시간은 1 이상 30 www.acmicpc.net 문제 풀이 해당 문제는 이분 탐색으로 해결할 수 있습니다. 2022.08.11 - [PS/알고리즘 이론] - [파이썬으로 배우는 알고리즘] 이분 탐색(Binary Search) [파이썬으로 배우는 알고리즘] 이분 탐색(Binary Search) 이분 탐색(Binary Search)이란? 이분 탐색(Binary Search)이란 탐색 범위를 절반으로 나눠가..

    [운영체제] 시스템 콜(System Call)

    시스템 콜이란? 운영체제는 사용자 모드(User mode)와 커널 모드(Kernel mode)로 나뉘어 동작하고, 이렇게 나뉘어 동작하는 것을 이중 동작 모드(Dual Mode Operation)라고 합니다. 그렇다면 운영체제는 왜 이중 동작 모드로 구동이 될까요? 바로 시스템을 보호하기 위해서입니다. 예를 들어 사용자가 권한 없이 시스템 내부의 데이터를 만질 수 있다고 가정해보겠습니다. 이럴 경우 쉽게 내부 데이터 접근이 가능하여 의도치 않게 또는 악의적으로 시스템을 해칠 수가 있습니다. 이런 경우를 대비해 시스템을 보호하기 위해서 이중 동작 모드로 구동이 됩니다. 이렇게 구동되어 유저 애플리케이션이 함부로 시스템 자원에 접근할 수 없게 되는 것이죠. 사용자 모드는 접근할 수 있는 메모리 영역이 사용자..

    [백준(BOJ)] #1562- 계단 수 (파이썬, PyPy3)

    문제 https://www.acmicpc.net/problem/1562 1562번: 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 문제 풀이 해당 문제는 쉬운 계단 수 문제의 심화 버전이라고 볼 수 있습니다. 계단 수를 구하는 것은 같지만, 0부터 9까지 숫자가 모두 등장하는 계단 수가 총 몇 개인지를 구해야 합니다. 쉬운 계단 수를 풀때와 마찬가지로 동적 계획법을 사용했고, 추가로 비트마스크를 사용했습니다. 2022.07.22 - [PS/알고리즘 이론] - [파이썬으로 배우는 알고리즘] 동적 계획법(Dynamic Programming) [파이썬으로 배우는 알고리즘] 동적 계획법(Dynamic Programming) 동적 계획법(Dynamic..

    [네트워크] TCP와 UDP

    전송 계층 (Transport Layer) 2022.10.21 - [CS/네트워크] - [네트워크] OSI 7계층, TCP/IP 4계층 [네트워크] OSI 7계층 OSI 7계층이란? OSI(Open System Interconnection)는 국제표준화기구(ISO)에서 개발한 네트워크 표준 모델로 세계적으로 사용되고 있습니다. 네트워크 프로토콜과 통신이 7계층으로 구성되어 있어 OSI 7계층 c4u-rdav.tistory.com 전송 계층은 IP에 의해 전달되는 패킷의 오류 검사, 재전송 등의 제어를 담당하는 계층이고, TCP와 UDP는 전송 계층에서 사용되는 프로토콜입니다. 이 두 프로토콜은 IP를 기반으로 구현되어 있지만 서로 다른 특징을 갖고 있습니다. TCP TCP의 개념 TCP는 Transmis..

    [백준(BOJ)] #10844- 쉬운 계단 수 (파이썬, PyPy3)

    문제 https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 문제 풀이 동적 계획법을 사용해 입력받은 자리 수의 계단수에 대한 경우의 수를 구할 수 있습니다. 2022.07.22 - [PS/알고리즘 이론] - [파이썬으로 배우는 알고리즘] 동적 계획법(Dynamic Programming) [파이썬으로 배우는 알고리즘] 동적 계획법(Dynamic Programming) 동적 계획법(Dynamic Programming)이란? 동적 계획법(Dynamic Programming), 다이나믹 프로그래밍, DP라고 불리는 이 알고리즘은 무엇일까요?? 동적 프로그래밍? 저는 이 ..