[백준] 20006 랭킹전 대기열
문제 설명 문제 링크 이번 문제는 게임의 랭킹전 매치메이킹을 구현하는 것과 비슷한(혹은 비슷하다고 주장하는) 문제이다. 실제로 모션비트 프로젝트를 진행할 때, 이와 비슷한 형태로 매치메이킹을 구현을 했어서 그런지 꽤 흥미로웠다. 우선 주어진 정보를 확인하면, 총 플레이어의 수와 각 방의 최대 인원이 주어진다. 문제에서 설명하는 게임의 매치메이킹 ...
문제 설명 문제 링크 이번 문제는 게임의 랭킹전 매치메이킹을 구현하는 것과 비슷한(혹은 비슷하다고 주장하는) 문제이다. 실제로 모션비트 프로젝트를 진행할 때, 이와 비슷한 형태로 매치메이킹을 구현을 했어서 그런지 꽤 흥미로웠다. 우선 주어진 정보를 확인하면, 총 플레이어의 수와 각 방의 최대 인원이 주어진다. 문제에서 설명하는 게임의 매치메이킹 ...
문제 설명 문제 링크 해당 문제는 가중치가 있는 그래프에서의 최단 거리를 구하는 문제이기 때문에 바로 다익스트라 알고리즘을 떠올리면 된다. 정점과 간선의 개수가 N과 M으로 주어지며, 시작점은 늘 1, 도착점은 늘 N이다. 문제 풀이 우선순위 큐를 이용해서 풀어야 하기 때문에 heapq를 사용한다. 다익스트라 알고리즘을 사용하여 최단 거리 문...
문제 설명 문제 링크 해당 문제에서 말하는 오르막 수란 수의 자리가 오름차순을 이루는 수를 말한다. 즉, 숫자를 문자열 S라고 가정했을 때, S[N] <= S[N+1]이 성립하는 수를 말한다. 문제를 살펴보면, 자리수에 따라 총 몇 개의 오르막 수가 있는지 구하는 것이 목표이다. 자리수가 늘어남에 따라 어떤 규칙이 있는지 확인해야 하며, ...
첫 번째 스터디 과제 첫 스터디를 하면서 ‘K번째 수’를 sort()를 안쓰고 풀기로 했고, stack, queue, graph를 직접 코드로 구현해보기로 했다. K번째 수: import sys input = sys.stdin.readline N, K = map(int, input().split()) A = list(map(int, in...
DMA DMA란 CPU를 거치지 않고 주변 장치가 메모리와 직접 데이터를 주고받을 수 있게 하는 기술이다. 이를 가능케 하는 것은 DMA 컨트롤러로, 주변 장치는 DMA 컨트롤러를 이용해서 메모리에 직접 접근하여 전송이 가능하다. 빠른 CPU에 비해 느린 입출력 장치들은 전체 컴퓨터 성능을 저하시킬 수 밖에 없다. 즉, CPU는 이 느린 입출력 장...
문제 설명 문제 링크 코드 최종 풀이 import sys input = sys.stdin.readline def find(a): if a == parent[a]: return a parent[a] = find(parent[a]) return parent[a] def union(a, b): ...
프로세스 개요 프로세스란 실행 중인 프로그램을 의미한다. 프로그램 자체는 디스크 내 파일로 존재하는, 동작을 하지 않는 정적이며 수동적인 개체이기 떄문에 이를 실행시키려면 운영체제로부터 프로그램이 동작하는 데 필요한 자원들(CPU, 메모리, 입출력장치 등)을 할당받아야 한다. 이처럼 자원을 할당받아 실행에 들어간 프로그램을 프로세스라 하며, 프로세스...
관계형 데이터베이스 관계형 데이터베이스를 이용하면 데이터를 표의 형태로 정리/정렬할 수 있고, 이는 검색 및 정렬같은 기능들을 빠르고 편리하게 할 수 있다.
데이터 정보를 나타내는 기호, 숫자, 문자, 그림 등 다양한 형태의 기록을 의미한다. 단독으로는 큰 의미를 지니지 않지만, 이를 처리하고 분석하여 유용한 정보로 변환할 수 있다. 본래 컴퓨터라는 기계는 일종의 데이터 처리기라고 볼 수 있다. 즉, 외부에서 데이터를 입력받고, 내부적으로 처리한 후 이 처리된 결과를 위부로 출력하는 기계로 정의할 수 ...
가상 메모리 가상 메모리는 컴퓨터 시스템의 메모리 크기보다 더 큰 기억 공간이 필요한 프로세스를 실행할 수 있게 하는 방법이다. 가상 메모리 개념의 핵심은 실행중인 프로세스에 의해 참조되는 주소를 메모리에서 사용하는 주소와 분리하는 것이다.