[백준][2098] 외판원 순회
이 포스트는 백준 사이트의 외판원 순회 문제 풀이입니다. 문제 해결 과정 이 문제는 비트마스킹과 메모이제이션 기법을 사용하면 제한시간 안에 결과를 확인할 수 있습니다. 문제가 요구하는 결과는 모든 지점을 방문할 때, 비용의 최솟값입니다. 이 값을 구하기 위해 모든 지점에서 매번 새롭게 비용을 구한다면 시간초과로 인해서 제한시간 안에 해...
이 포스트는 백준 사이트의 외판원 순회 문제 풀이입니다. 문제 해결 과정 이 문제는 비트마스킹과 메모이제이션 기법을 사용하면 제한시간 안에 결과를 확인할 수 있습니다. 문제가 요구하는 결과는 모든 지점을 방문할 때, 비용의 최솟값입니다. 이 값을 구하기 위해 모든 지점에서 매번 새롭게 비용을 구한다면 시간초과로 인해서 제한시간 안에 해...
이 포스트는 개인 학습을 기록한 내용을 담고 있어 추후 수정될 수 있습니다. 프로세스는 메인 메모리에서 독립적으로 실행되는 프로그램 단위입니다. 각각의 프로세스는 고유의 주소 공간을 할당 받고 각자의 실행 흐름을 갖고 있기 때문에 한 프로세스가 다른 프로세스 주소 공간에 접근하여 데이터를 공유하는 것은 불가능합니다. 따라서 운영체제에서는 프로...
이 포스트는 백준 사이트의 행렬 곱셈 순서 문제 풀이입니다. 문제 해결 과정 이 문제는 여러 작은 문제로 나워서 해결하는 DP(다이나믹 프로그래밍) 방법을 사용해 해결할 수 있습니다. 문제를 해결하기 위해서 먼저, DP 테이블을 사용하였습니다. 2차원 배열의 테이블은 DP_table[a][b]에서 a번째 행렬부터 b번째 행렬까지의 곱 ...
이 포스트는 개인 학습을 기록한 내용을 담고 있어 추후 수정될 수 있습니다. 이 포스트는 “게임 서버 프로그래밍 교과서”를 참고하여 작성된 포스트입니다. 멀티 쓰레드는 여러 가지 일을 한 번에 처리할 수 있다는 엄청난 장점이 있지만 쓰레드를 생성하고 일반 싱글 쓰레드처럼 사용하면 최악의 경우, 싱글 쓰레드 프로그램보다 못한 결과가 나올 수 있습니다...
이 포스트는 백준 사이트의 DSLR 문제 풀이입니다. 문제 해결 과정 이 문제는 4가지 연산에 따른 결과를 BFS를 활용해 반복적으로 수행하며 정답을 구할 수 있습니다. 첫 번째 시도에서는 주어진 숫자(start)를 문자열을 활용하여 4가지 연산을 수행하고자 하였습니다. 그러나 이러한 방법은 시작 숫자가 1 이고 목표한 숫자가 1000...
이 포스트는 “게임 서버 프로그래밍 교과서”를 참고하여 작성된 포스트입니다. 이전 포스트에서 Poll() 함수를 언급을 했었습니다. 포스트의 마지막에 설명한 Poll() 함수의 단점으로 반복문을 사용한 소켓 전체 순회가 있었습니다. 이 전체 순회로 인해 실시간 처리가 중요한 게임 서버에서는 적합하지 않을 수 있습니다. 따라서 처리 속도가 중요...
이 포스트는 백준 사이트의 부분합 문제 풀이입니다. 문제 해결 과정 이 문제를 처음 시도하였을 때, 주어진 배열을 정렬하고 정렬된 배열을 순차 탐색하면서 총 합이 S가 넘은 순간의 길이를 반환하려고 했습니다. 그러나 이러한 해결 방법의 문제점은 최단 길이가 아니라 최초 적합 길이가 반환된다는 점입니다. 예를들어, N과 S가 10, 20...
이 포스트는 개인 학습을 기록한 내용을 담고 있어 추후 수정될 수 있습니다. 리눅스란 리누즈 토발즈라는 개발자에 의해 만들어진 컴퓨터 운영체제 이름이 리눅스입니다. 리눅스는 현재 유명한 오픈소스 프로젝트 중 하나이며, 많은 사람들이 개발에 참여하고 있습니다. 리눅스의 구조 리눅스의 구조는 아래와 같이 크게 4가지로 분류할 수 있습니다....
이 포스트는 백준 사이트의 알파벳 문제 풀이입니다. 문제 해결 과정 이 문제는 DFS와 아스키 코드를 사용한 방문 기록 배열을 이용하여 해결할 수 있습니다. DFS를 재귀적으로 실행하면서 방문한 거리까지를 최댓값과 비교하면 됩니다. 여기서 중요한 것은 방문했던 알파벳은 다른 위치에 있더라도 재방문이 불가능하다는 것 입니다. 따라서 맵...
이 포스트는 “게임 서버 프로그래밍 교과서”를 참고하여 작성된 포스트입니다. 이전 포스트에서 논블로킹(Non-blocking) 소켓에 대해 설명했습니다. 논블로킹 소켓의 장단점을 정리하면 아래와 같습니다. 장점 단점 스레드 블로킹이 없으므로중도 취소 같은 통제 가능 ...