728x90 분류 전체보기63 [TIL] 크래프톤 정글 2주차 CS:app 3(메모리 계층 구조, 운영체제) 이 글은 CS:app 1장을 끝까지 다 읽고 정리한 글이다. 이전 글들을 같이 봐야 이해될 수 있는 내용이 있으니 이전 글을 읽고 보길 바란다. 1.5 캐시 메모리(cache memory) 이전 글에서 프로그램의 실행 과정을 보면 불필요할 정도로 프로그램과 데이터의 복사, 이동이 많다. 이 복사 및 이동 과정들은 프로그램의 실제 작업을 느리게 하는 오버헤드로 이 과정을 줄이는게 프로그램 실행을 빠르게 할 수 있는 방법이 될 것이다. 저장 장치의 용량이 크면 물리적인 이유로 인해 작은 것보다 느린 속도를 갖게 된다. ex1) 디스크 드라이브가 메인 메모리보다 1000배 크지만, 1 워드를 읽는 속도는 10000000(천만)배 오래 걸릴 수 있다. ex2) 레지스터 파일은 수 백 byte의 정보를 저장하지만.. 2024. 3. 29. [TIL] 크래프톤 정글 1주차 CS:app 2(C 프로그램 컴파일 이후 실행 과정) 크래프톤 정글 1주차를 하며 CS:app(Computer Systems : A Programmer's Perspective)를 목차 1.4 까지 읽으며 공부하고 이해한 내용을 정리한 글이다. (앞 글 : https://jeokyong-development.tistory.com/5) 1.4 앞 글을 보고 왔다면 현재 hello.c가 컴파일 시스템에 의해 컴파일되어 실행 가능 목적 파일 hello가 만들어졌다는 것을 알고 있을 것이다. 이 hello 파일을 유닉스에서 실행하기 위해서는 '쉘'이라는 응용프로그램에 이름을 다음과 같이 입력해야한다. 쉘은 커맨드라인 인터프리터로 프롬프트를 출력하고 명령어 라인을 입력받아 해당 명령을 실행한다. 위와 같은 경우와 같이 명령어가 아니면 실행 파일의 이름으로 판단하고 .. 2024. 3. 27. [알고리즘] 크래프톤 정글 1주차 / 알고리즘 中 혼자서 못 푼 문제 정리3(철로) BOJ 13334 철로 난이도 : (크래프톤 정글 기준) 상, (백준 난이도 기준) 골2 사용 알고리즘 or 자료 구조 : 우선순위 큐, 힙 처음 생각한 풀이 Min heap, Max heap을 각각 선언하여 Min heap에는 시작점을 기준으로, Max heap에는 끝 점을 기준으로 입력 값들을 튜플로 넣어준다. 그 후 Min heap의 첫번째 원소와 Max heap의 첫번째 원소의 차이를 dist라 하고 dist와 입력받은 d를 비교하여 d가 더 크다면 전체 인원, 아니라면 그 다음 과정이 시작된다. 각 순회마다 이전의 Min heap의 원소와 지금의 Min heap의 차이, 이전의 Max heap의 원소와 지금의 Max heap의 원소의 차이를 비교한다. 둘 중 차이가 더 큰 쪽을 선택하여 Max .. 2024. 3. 27. [알고리즘] 크래프톤 정글 1주차 / 알고리즘 中 혼자서 못 푼 문제 정리2(가운데를 말해요) BOJ 1655 가운데를 말해요 난이도 : (크래프톤 정글 기준) 중, (백준 난이도 기준) 골2 사용 알고리즘 or 자료 구조 : 우선순위 큐, 힙 처음 생각한 풀이 처음에는 중간 값을 찾아야하므로 최소힙, 최대힙(Min heap, Max heap)을 선언해야 한다고 생각했다. 하지만, 힙만 설정하고 어떻게 할 지 감을 못 잡아 주변 동료의 도움을 받았다. 도움 이후 풀이 Min heap과 Max heap, 그리고 중간 값을 담을 변수인 mid를 선언하고 시작한다. 차례대로 N개의 정수를 입력받는 순회가 시작하면, 처음에는 첫 번째 값을 mid로 설정하고 출력한다. 이후에 입력받는 정수들은 현재 mid와 비교하여 mid보다 크면 min heap에, mid보다 작으면 max heap에 push 한다. p.. 2024. 3. 27. [알고리즘] 크래프톤 정글 1주차 / 알고리즘 中 혼자서 못 푼 문제 정리1(괄호의 값) BOJ 2504 괄호의 값 난이도 : (크래프톤 정글 기준) 상, (백준 난이도 기준) 골5 사용 알고리즘 or 자료 구조 : 스택 처음 생각한 풀이 처음 문제를 풀기 전에 주제를 봤을 때나, 지문을 읽었을 때나 '아, 스택을 사용해야되네.'라고 생각했었다. 문제는 어떻게 구현할지 감이 잡히지 않았던 것이다. 프로그래머스에서 올바른 괄호식 형태인지를 판단하는 문제를 풀어봤기에 이 문제도 비슷할 것이라 생각했지만, 이 문제는 올바른 괄호식 형태인지 판단 + 괄호식으로 숫자 계산을 시켜서 프로그래머스의 문제보다 어려웠다. (프로그래머스 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12909) 처음 생각했던 방법은 스택으로 감이 잡히지 않아 .. 2024. 3. 27. [TIL] 크래프톤 정글 1주차 CS:app1(컴퓨터 시스템과 C프로그램의 컴파일 과정) 크래프톤 정글 1주차를 하며 CS:app(Computer Systems : A Programmer's Perspective)를 목차 1.3 까지 읽으며 공부하고 이해한 내용을 정리한 글이다. 1.1 먼저 컴퓨터 시스템은 텍스트 문자를 ASCII 표준을 이용하여 각 문자를 byte 길이의 정수로 나타낸다.(1byte = 8bit) 쉽게 말하자면 우리가 C 소스 코드를 적든, 메모장에 아무 문자를 적든 각 문자마다 1byte 형태로 인식이 된다는 것이다. 그렇기 때문에 같은 내용의 text여도 context(맥락)에 따라 컴퓨터에서는 다르게 실행될 수 있다. C나 txt파일과 같이 아스키 문자로만 이루어진 파일을 text file, 그 외에는 binary file(0과 1로 이루어진 파일)이라고 한다. ㄴ>.. 2024. 3. 26. 이전 1 ··· 7 8 9 10 11 다음 728x90