728x90 Computer Science39 [C언어] 사용자 정의 함수, void와 return [C언어] 사용자 정의 함수, void와 return 기본 기능만 주구장창 사용할 것이 아니라면, 사용자 정의 함수를 알아야 한다.그렇게 해야 내가 원하는 대로 코드를 마음대로 가지고 놀고 일부 코드를 가지고 엄청난 계산 괴물을 만들어 낼 수도 있다.아니면 서비스 공룡을 만들어낼 수도 있고. 사용자 정의 함수는 그러기 위해 만들어졌다. '더 간편하고', '복사하기 붙여넣기를 하지 않고', '더 고도의 능력을 구현하기 위해' 아래에서는 C언어에서 사용자 함수를 정의하는 법과 실행하는 법, 그리고 void형 함수와 void가 아닌 함수의 차이점을 알아볼 것이다. 1. 기본 정의 방법 /* 함수 타입 함수명(매개변수){ 실행 코드 return 0; } */ void a() { for(int i = 0; i <.. 2022. 6. 23. [C언어] 반복문 활용하기(while, for) [C언어] 반복문 활용하기(while, for) 반복문은 코드 라인을 획기적으로 줄여준다. 반복해서 실행해야 할 함수들을 삽입해서 일정 조건이 일어날 때 종료하는 방법으로 조건문을 종료할 수 있다. 아래에서는 C언어에서 쓸 수 있는 while문과 for문의 기본형에 대해 알아본다. 1. while 1) 기본구조 #include int main(){ while(조건문){ 수행 코드 } return 0; } while은 조건문 특별한 변수가 조건문 안의 조건을 만족할 때까지 반복을 수행하는 것이다. 일반적으로 반복의 횟수를 알지 못할 때, 고정하기 애매할 때 사용한다. 조건문 안에 true를 써놓으면 무한 반복문을 만들 수 있으며, 수행 코드 내에서 조건문을 두고 break;를 통해서 while문을 탈출할 .. 2022. 6. 23. 컴퓨터의 기본 구성 장치와 동작 원리 컴퓨터의 기본 구성 장치와 동작 원리 20세기의 천재 폰 노이만은 현대 컴퓨터의 구조를 만들었다. 이전 까지의 컴퓨터(계산기라고 하는 것이 더 맞음)는 인풋, 아웃풋 디바이스의 경계도 모호했다. 이전까지는 CPU와 메모리가 같이 합쳐져 있었다. 그렇지만, 폰 노이만의 설계에 의해 새롭게 탄생된 컴퓨터는 현재 70년이 지난 지금에 있어서도 기본 컴퓨터 구조로 사용되고 있다. 알아볼 것들 1. 컴퓨터의 기본 구성 장치 2. 운영 체제와 부팅 과정 3. 이진법의 활용 1. 컴퓨터의 기본 구성 장치 CPU cpu는 중앙처리장치이다. 프로그램의 명령어를 해석하고 돌아가도록 제어하는 부분, 칩이다. 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할한다. 우리 뇌의 기억과 사고를 담당하는 부분이 있다고.. 2022. 6. 21. [자료구조] Union-find 자료구조 python [자료구조] Union-find 자료구조 python 살펴볼 주요 개념: Union find란? Union find 구현(python) 1. Union find란? 서로 중복되지 않는 부분 집합들로 나눠진 원소들에 대한 정보를 저장하고 조작하는 자료 구조. 다수의 노드들 중에 연결된 노드를 찾거나 노드들을 합칠 때 사용하는 알고리즘이다. union find는 서로소 집합(disjoint set)을 찾아내는 것에 활용된다. union find와 비슷한 것은 python에서는 set()이 있다. set은 membership 연산(어떤 원소가 집합에 속하는 지를 T/F로 알려주는)과 합집합(union), 교집합(intersection), 여집합(difference) 등의 연산을 제공한다. 하지만 파이썬의 se.. 2022. 5. 17. [자료구조] Balanced BST(균형이진탐색트리)의 정의와 종류 [자료구조] Balanced BST(균형이진탐색트리)의 정의와 종류 살펴볼 주요 개념: Balanced BST의 정의 Balanced BST의 종류 1. Balanced BST의 정의 Balanced BST(균형이진탐색트리, 이하 BBST)는 BST(이진탐색트리)가 위의 사진처럼 데이터 추가로 인해 길이가 과도하게 길어진 편향적인 이진 탐색트리를 방지하기 위해 만들어졌다. 높이는 탐색, 삽입과 삭제 연산에 영향을 미치게 된다. 노드의 탐색 시간이 많이 걸릴 수록 삽입과 삭제연산도 이에 영향을 받아 수행시간이 오래 걸릴 수 있다. 그렇기 때문에 높이는 최소한으로 하면서 트리에 데이터를 삽입, 삭제하는 것이 필요하다. 위의 사진의 경우를 보면 왼쪽의 BST에서는 15에서 8까지 가는 것에 에지를 4번 거쳐야.. 2022. 5. 17. [자료구조] Binary Search Tree(BST, 이진탐색트리) 정의와 python 구현 [자료구조] Binary Search Tree(BST, 이진 탐색 트리) 정의와 python 구현 살펴볼 주요 개념: 더보기 - Binary Search Tree의 정의 - Binary Search Tree 구현 방법 1. Binary Search Tree의 정의 이진탐색 트리는 탐색에 효율적인 트리이다. 이진트리의 규칙은 다음과 같다. 각 노드의 왼쪽 subtree의 값은 노드의 key값 보다 작거나 같아야 하고, 오른쪽 subtree의 값은 노드의 key값 보다 커야 한다. 12의 자리에 1이 올 수는 없다. 왜냐하면, 1이 부모 노드인 13보다 작은 수 이더라도, 10의 오른쪽 subtree이기 때문에 10보다 큰 수가 와야 하기 때문이다. 즉, 12 노드 자리에는 10~13까지만 key값으로 사용.. 2022. 5. 15. 이전 1 2 3 4 5 6 7 다음 728x90