본문 바로가기

분류 전체보기380

[그림으로 배우는 자료구조] 배열이란? [그림으로 배우는 자료구조] 배열이란? 이번 시간에는 배열에 대해서 학습해봅시다. 학자들은 변수를 이용해서 메모리에 값을 쉽게 할당하고 CPU에게 값을 계산을 시켰습니다. 그런데 문제가 발생했습니다. 메모리에 저장해야 될 값의 개수가 많아지면 변수의 수도 많아지게 된것입니다. 달력 기능을 구현할 때를 예를 들면 한달에 1일부터 최대 31일까지 있기 때문에 1부터 31까지 숫자를 저장할 변수를 31개 작성해야했습니다. 학자들은 어떻게 하면 변수를 많이 안쓰고 같은 종류의 데이터를 쉽고 효율적으로 메모리에 저장할 수 있을지를 고민했습니다. 고민 끝에 학자들은 배열이라는 개념을 만들었습니다. 배열은 같은 종류의 데이터를 모아서 메모리에 순서대로 저장하는 기법입니다. 배열은 요소(element)와 색인(inde.. 2022. 7. 19.
[그림으로 배우는 자료구조] 변수란? [그림으로 배우는 자료구조] 변수란? 이번 시간에는 변수에 대해서 학습해봅시다. 컴퓨터는 어떤 일을 잘할까요? 컴퓨터는 값을 저장하고 값을 계산하는 일을 아주 잘합니다. 간단하게 말하면 컴퓨터는 저장하는 일과 계산하는 일에 특화되어 있습니다. 그럼 컴퓨터가 저장과 계산을 하기 위해서 필요한 장치들은 무엇이 있을까요? 바로 CPU, 메모리, 하드웨어가 있습니다. CPU는 값을 계산하는 곳입니다. 메모리는 CPU가 계산해야 될 값, 계산한 값을 임시로 저장하는 곳입니다. 하드웨어는 CPU가 계산한 값을 영구적으로 저장하는 곳입니다. 자료구조를 이해하기 위해서 주목해야 할 장치는 메모리 입니다. CPU에게 계산을 시키려면 값을 메모리에 저장시켜야 합니다. 메모리의 주소공간은 0과1로 이루어진 수많은 숫자로 이.. 2022. 7. 18.
[자료구조 문제] 6.퀴즈로 트리(Tree) 정리하기 [자료구조 문제] 6.퀴즈로 트리(Tree) 정리하기 정보처리 기사 필기 및 정보처리 기사 실기 대비를 위한 컴퓨터 문제 모음. 개발할 때도 알고 있으면 좋을 문제들. 컴퓨터 자료 구조 문제 풀면서 코딩 배우기 > 왼쪽 자식 노드 => 오른쪽 자식 노드 순으로 탐색하는 순회 방식을 OO 순회(preorder)라고 합니다. 23.이진 트리(binary tree)에서 왼쪽 자식 노드 => 부모 노드 => 오른쪽 자식 노드 순으로 탐색하는 순회 방식을 OO 순회(inorder)라고 합니다. 24.이진 트리(binary tree)에서 왼쪽 자식 노드 => 오른쪽 자식 노드 => 부모 노드 순으로 탐색하는 순회 방식을 OO 순회(postorder)라고 합니다. 출처: '코딩퀴즈' 앱 목차 [자료구조문제] 1.퀴즈.. 2022. 6. 25.
[자료구조 문제] 5.퀴즈로 해시 테이블 정리하기 [자료구조 문제] 5.퀴즈로 해시 테이블 정리하기 정보처리 기사 필기 및 정보처리 기사 실기 대비를 위한 컴퓨터 문제 모음. 개발할 때도 알고 있으면 좋을 문제들. 컴퓨터 자료 구조 문제 풀면서 코딩 배우기 > 2022. 6. 24.
[자료구조 문제] 4.퀴즈로 큐 정리하기 [자료구조 문제] 4.퀴즈로 큐 정리하기 다음 빈칸에 들어갈 알맞은 말을 넣어보세요. 1.O(Queue)는 먼저 삽입된 데이터가 먼저 나오는 FIFO(First In First Out)의 자료구조 입니다. 2.큐(Queue)는 데이터의 OO과 출력이 이루어지는 곳이 각각 존재합니다. 3.큐(Queue)에서 데이터의 입력(Enqueue)은 큐(Queue)의 O부분, 출력(Dequeue)은 뒷부분에서 이루어 집니다. 4.큐(Queue)에서 가장 먼저 입력된 데이터가 위치한 곳을 OOOOO라고 하며 가장 나중에 입력된 데이터가 위치한 곳을 rear라고 합니다. 5.큐(Queue)에서 데이터의 입력은 OOOO에서 이루어지고 삭제는 front에서 이루어집니다. 6.큐(Queue)를 구현하기 위해서는 front와 .. 2022. 6. 23.
[자료구조 문제] 3.퀴즈로 스택 정리하기 [자료구조 문제] 3.퀴즈로 스택 정리하기 1.OO(Stack)은 가장 먼저 입력된 데이터가 가장 아래쪽에 쌓이고, 나중에 입력된 데이터는 그 위에 쌓이게 되는 선형 자료구조입니다. 2.스택(Stack)은 오직 한 부분에서만 데이터를 입력 또는 출력 할 수 있는 OOOO(Last In First Out) 형식의 자료구조입니다. 3.스택(Stack)은 LIFO(Last In First Out)형식의 자료구조이기 때문에 삭제 연산시 스택(Stack)에 마지막에 삽입된 요소가 가장 OO 삭제됩니다. 4.스택(Stack)은 O(Top)이라고 부르는 오직 한 부분에서만 데이터의 삽입과 삭제 연산을 할 수 있습니다. 5.스택(Stack)은 한 박스에 여러 권의 O을 높이 쌓아 올린 구조와 같습니다. O을 꺼낼 때는.. 2022. 6. 22.
[자료구조 문제] 2.퀴즈로 연결 리스트 정리하기 [자료구조 문제] 2.퀴즈로 연결 리스트 정리하기 다음 빈칸에 들어갈 알맞은 말을 넣어보세요. 1.배열의 OO을 보완해서 나온 데이터 구조가 연결리스트 자료구조입니다. 2.배열에서 임의의 위치에 요소를 삽입하거나, 임의의 위치에서 요소를 삭제하는 작업은 해당 위치 뒤에 있는 요소들을 하나씩 뒤칸 혹은 앞칸으로 옮겨야 하기 때문에 OO이 오래 소요됩니다. 3.이런 문제를 해결하기 위해 고안된 자료구조가 OOOOO(linked list)입니다. OOOOO는 특정 위치에 요소의 삽입과 삭제를 배열보다 빠른 시간에 처리할 수 있습니다. 4.연결 리스트의 특징은 데이터와 OOO가 한 쌍으로 구성되어 있다는 점입니다. 일반적으로 데이터와 OOO를 노드(node)라고 부릅니다. 5.연결 리스트는 노드(node)들이 .. 2022. 6. 21.
[자료구조 문제] 1.퀴즈로 배열 정리하기 [자료구조 문제] 1.퀴즈로 배열 정리하기 다음 빈칸에 들어갈 알맞은 말을 넣어보세요. 1.OO(array)은 자료구조 유형중에서 선형 자료구조에 해당하며, 연관된 데이터를 하나의 변수에 그룹핑해서 관리하기 위한 구조입니다. 2.배열을 구성하는 각각의 값을 배열 OO(element)라고 하며, 배열에서 요소의 위치를 가리키는 숫자를 인덱스(index)라고 합니다. 3.배열의 인덱스는 항상 O부터 시작하며, O을 포함한 양의 정수만을 가질 수 있습니다. 4.배열은 같은 OO(type)의 많은 데이터를 다뤄야 하는 경우에 사용할 수 있는 가장 기본적인 자료구조입니다. 5.배열은 특정 원소에 접근할 때 OOO(index)를 이용해서 접근하기 때문에 접근 속도가 빠릅니다. 이를 직접 접근(Direct Acces.. 2022. 6. 20.
비전공자 운영체제 공부법 추천 1탄 운영체제 공부법 추천 1탄 취업하고 나서 부터 언젠가 운영체제를 꼭 한번 배워야지 생각을 했다. 내가 비전공자라서 그런지 몰라도 운영체제, 네트워크, 자료구조, 알고리즘 같은 컴퓨터 전공과목에 대한 목마름(?)이 있었다. 컴공과 학생들은 4년 내내 컴퓨터 기본 지식을 듣고, 쓰고, 시험보고 자기것으로 만들어서 나왔을테니깐 나는 그들 보다 한참 뒤떨어진다는 생각이 있었다. 문제는 운영체제를 공부하는 것이 마음먹은것 처럼 쉽지가 않았다. 몇년간 시행착오를 좀 겪었다. 처음에는 정보처리기사 과목에 운영체제가 있으니깐 정보처리기사 준비하면서 운영체제를 공부하자고 생각을 했는데, 문제 풀이 위주의 학습이어서 운영체제 관련 문제는 풀 수 있었지만 완벽히 이해는 되지 않았다. 큰 그림도 그려지지 않았다. 그리고 유튜.. 2022. 6. 15.