본문 바로가기

전체 글

(133)
운영체제(OS) 역할 운영체제(Operating System) 역할 운영체제는 일반적으로 자원 관리자(Resource manager)라고 정의됩니다. 이는 컴퓨터에 있는 CPU, 메모리, 디스크 등의 자원을 관리하여, 일반 사용자들이 컴퓨터를 사용할 수 있도록 지원해줍니다. 위 사진은 운영체제의 초기 상태를 보여줍니다. 이때, test.c라는 파일을 만들어서 저장할 때 운영체제가 어떠한 동작을 하는지 확인해보도록 합시다. 우선, 사용자가 해당 파일을 저장하려고 한다면, 사용자의 저장 요청은 운영체제로 전달되고, 운영체제는 비휘발성 메모리인 디스크에 이 소스코드를 저장합니다. 조금 더 자세히 살펴보자면, 운영체제가 디스크의 일부 공간(4KB, 디스크 블록)을 할당받고, 디스크 블록에 파일의 내용을 저장합니다. 또한, 파일의 속..
[Mac] VMWare Window 10 설치 오늘은 VMWare에서 Window 10을 설치하는 방법에 대해 알아보도록 하겠습니다. 우선 VMWare를 설치하지 않으셨다면, 아래 링크로 들어가셔서, https://www.vmware.com/products/fusion/fusion-evaluation.html 해당 페이지 아래에 이와 같이 생긴 블록이 있는데 DOWNLOAD NOW를 클릭해서 설치해주시면 됩니다. 설치를 위해 로그인을 필요로 할 경우, 회원가입을 해주셔야 합니다 :) VMWare를 설치하신 후, 아래와 같은 창이 뜰 경우, 이제 Window 10을 설치해봅시다. 아래 링크로 가셔서 자신의 컴퓨터에 맞는 ISO 파일을 다운로드 해줍니다. https://www.microsoft.com/ko-kr/software-download/windo..
[Mac] .bashrc 수정 후 적용 alias를 만들어주기 위해 vi ~/.bashrc 명령을 통해 파일 내용을 수정하게 되면, 바로 적용이 되지 않습니다. 아래는 사진은 .bashrc 파일의 내용입니다. 위 사진과 같이 alias를 만들어 준 후, logcheck 명령을 입력해보면 아래와 같이 명령이 없다고 뜨게 됩니다. 이 때, 재부팅을 해도 적용이 되긴 하지만, 재부팅을 하지 않고 바로 적용하기 위해서는 아래 명령을 입력해주면 됩니다. source ~/.bashrc 명령을 통해 적용이 됨을 알 수 있습니다.
[백준 16234 C++] 인구 이동 오늘은 BOJ 16234번 인구 이동 문제에 대해 다뤄보도록 하겠습니다. 인구이동 문제 링크 (BOJ 16234번 문제): https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 문제 설명 BOJ 16234 인구 이동 문제는 아래 경우를 반복하여 더 이상 인구 이동이 불가능할 때 인구 이동 횟수를 구해주는 문제입니다. - 국경선을 공유하는 두 나라의 인구 차이가 L명 이상, R명 이하라면, 두 나라가 공유하는 국경선을 오늘 하루 동안 연..
[백준 11438 C++] LCA 2 오늘은 백준(BOJ) 11438번 LCA2 문제에 대해 다뤄보도록 하겠습니다. LCA2 문제 링크 (백준(BOJ) 11438번 문제): https://www.acmicpc.net/problem/11438 11438번: LCA 2 첫째 줄에 노드의 개수 N이 주어지고, 다음 N-1개 줄에는 트리 상에서 연결된 두 정점이 주어진다. 그 다음 줄에는 가장 가까운 공통 조상을 알고싶은 쌍의 개수 M이 주어지고, 다음 M개 줄에는 정 www.acmicpc.net 혹시나 LCA 알고리즘에 대해 모르고 있다면 아래 링크를 참조하시기 바랍니다. [LCA(Lowest Common Ancestor) Algorithm] 문제 설명 백준 11438번 LCA 2 문제는 트리를 구성하기 위해 노드에 대한 정보가 주어지고, 다음으..
LCA(Lowest Common Ancestor) 알고리즘 오늘은 LCA(Lowest Common Ancestor) 알고리즘에 대해 다뤄보겠습니다. LCA 알고리즘이란? 제목에서 보시다시피, 최소 공통 조상 알고리즘입니다. 우선, 아래 그림을 통해 이 알고리즘을 이해해보도록 합시다. 깊이(Depth)란? 이와 같은 트리가 있다고 할 때, 1이란 값을 가진 Node는 루트(Root)노드라고 불립니다. 루트(Root)노드는 깊이(Depth)가 0이며, 루트를 기준으로 아래부터 1, 2, 3, .. 이런 방식으로 깊이(Depth)가 증가하게 됩니다. 그럼, 노드 9는 깊이가 3, 노드 8의 깊이도 3, 노드 7의 깊이는 2라는 사실을 알 수 있습니다. 조상(Ancestor)이란? Depth에 대한 설명을 모두 마쳤으니, 이제 조상(Ancestor)에 대한 이야기를 해..
[백준 13334 C++] 철로 오늘은 백준(BOJ) 13334번 철로 문제에 대해 다뤄볼 예정이다. 철로 문제 링크 (백준(BOJ) 13334번 문제): https://www.acmicpc.net/problem/13334 13334번: 철로 입력은 표준입력을 사용한다. 첫 번째 줄에 사람 수를 나타내는 양의 정수 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 n개의 각 줄에 정수 쌍 (hi, oi)가 주어진다. 여기서 hi와 oi는 −100,000,000이상, 100,000,0 www.acmicpc.net 문제 설명 백준 13334번 철로 문제는 각 사람 당 집과 사무실의 위치를 입력받은 후, 얼마나 많은 사람이 철도의 길이 L 안에 포함될 수 있는지 출력하는 문제이다. 아래 사진을 예시로 들어보면, L 범위안에 (5, 40)..
[백준 1647 C++] 도시 분할 계획 오늘은 백준(BOJ) 1647번 도시 분할 계획 문제에 대해 다뤄볼 예정이다. 도시 분할 계획 문제 링크 (백준(BOJ) 1647번 문제): https://www.acmicpc.net/problem/1647 1647번: 도시 분할 계획 첫째 줄에 집의 개수 N, 길의 개수 M이 주어진다. N은 2이상 100,000이하인 정수이고, M은 1이상 1,000,000이하인 정수이다. 그 다음 줄부터 M줄에 걸쳐 길의 정보가 A B C 세 개의 정수로 주어지는데 A번 www.acmicpc.net 문제 설명 백준 1647번 도시 분할 계획 문제는 하나로 구성된 마을을 두 마을로 분리시키려고 하는데, 길의 유지비를 최소화하여 두 마을로 분리하려고 한다. 각 노드와 간선의 가중치가 주어질 때, 길에 사용되는 최소한의 ..