반응형

2023/10 6

사업을 한다는 것은 어떤 의미일까 - 현금흐름, 의사결정 게임 과 실행

사업에 대한 나의 로망 '사업'이라는 이름을 내걸고 무언가 실행해 보기 전까진 이 사업, 창업이라는 것에 대한 막연한 로망이 있었다. "난 꼭 사업을 할 거야" 되뇌던 말속의 단어 '사업'은 나도 모르는 사이 '조금만 열심히 하면 빵 터지는 상한선이 없는 성공'을 의미하고 있었다. 하지만 막상 준비단계에 돌입해 보니 내 생각과는 달랐다. (근거 없는 망상에 가까운 생각이었음을 생각하면 당연한 일이다.) 사업이란 현금흐름을 만들어내는 일 사실 이는 내가 서브웨이에서 아르바이트를 하면서도 느낀 일이다. 전형적인 프랜차이즈 사업인 서브웨이도, 점장님이 매번 50~200만 원어치의 발주를 넣어서 음식 재료와 갖가지 비품들을 받고, 그 재료를 바탕으로 매출을 낸다. 그때 처음, 사업이란 현금 흐름을 만들어내어 그..

data lab 2023.10.30

C++ 포인터 개념 잡기 - 배열 관련 개념

본인, C언어에서 포인터를 너무 대충하고 넘어갔다. C++를 배우고 있는 지금, 지금이라도 포인터의 개념을 잡아보자. 사실 이건 포인터의 개념 전체는 아니고, 재귀함수로 주어진 배열의 모든 요소의 합을 구하는 거 하다가 내가 아래의 개념을 몰라서 이해가 안된다는 사실을 깨닫고 정리한다. #include using namespace std; int main() { int arr[] = { 1,2,3,4,5 }; int* p1; //배열의 이름(시작주소) 포인터 - 분리형 p1 = arr; int* p2; //배열의 첫번째 요소의 주솟값 포인터 -분리형 p2 = &arr[0]; int* p3 = arr; //배열의 이름(시작주소) 포인터 - 합체형 int* p4 = &arr[0]; //배열의 첫번째 요소의 ..

data lab 2023.10.26

C++ 순열(permutation) - 대학교 컴공 2학년 자료구조 과목

순열이란 무엇인가 순열 P. 우리 고등학교 확통시간에 다 배웠죠? 기억나죠? 하지만 저도 내용은 기억 안나고 그저 배웠다는 사실만 기억나는 타입이기 때문에 이러고 퉁치고 넘어갈 생각은 없습니다. 순열이란, 서로다른 배열요소를 순서를 고려하여 배열하는 경우입니다. 예를들어 nPr 이라고 하면, n개의 배열요소 중에 r개를 뽑아 순서를 고려하여 배열하는 경우의 수입니다. 수업에 나온 코드 예시 void Permutations(char* a, const int k, const int m) { int i; if (k == m) { for (i = 0; i

data lab 2023.10.25

C++ 재귀 이진 검색 (Recursive binary search) - 대학교 컴공 2학년 자료구조 과목

재귀 이진 검색이란 무엇인가 2023.10.23 - [코딩 data lab] - 이진 검색(binary search)이란 무엇일까? - 대학교 컴공 2학년 자료구조 과목 재귀 이진 검색은, 전 게시물에서 다루었던 이진 검색을 재귀함수의 형식으로 구현할 수 있도록 만든 알고리즘이다. 수업에 나온 예시코드 int rbs(int* a, const int x, const int left, const int right) { if (left a[middle]) return rbs(a, x, middle + 1, right); else return middle; } return -1; } 코드 분석 구하고자 하는 x의 값이 a[middle]보다 작을 경우에는 right의 값을 middle-1 로 변경하여 다음에 시행..

data lab 2023.10.24

C++ 이진 검색(binary search)이란 무엇일까? - 대학교 컴공 2학년 자료구조 과목

이진 검색 (binary search)란 무엇인가정렬되어 있는 배열 내에서 원하는 배열 요소를 찾아내기 위한 알고리즘으로, (오름차순일 경우) 배열을 절반으로 나누고 그 절반 값이 찾는 배열요소보다 크면 왼쪽의 토막으로 가고 찾는 배열요소의 값이 더 크면 오른쪽 토막으로 간다. 그러고 앞의 과정을 반복해 원하는 값을 찾아낸다. 이진검색의 장점선형검색, 즉 맨 앞에서부터 찾는 값이 나올 때까지 찾는 것보다 시간 복잡도가 낮아진다. 시간이 훨씬 단축된다는 것이다. 사전에서 단어를 찾을 때를 비유로 종종 들곤 하는데, 내가 '호루라기'라는 단어를 찾고 싶을 때, 맨 앞에서부터 찾으면 한세월 걸리겠지만 위와 같이 반씩 턱턱 피면서 대조하고, 다시 반절을 피고 하는 식으로 찾으면 얼마나 시간이 단축될지 체감이 될..

data lab 2023.10.23

C++ 선택정렬 (selection sort)이란 무엇일까? - 대학교 컴공 2학년 자료구조 과목

이 내용은 컴퓨터공학과인 내가 2학년 때 자료구조 과목에서 배우는 내용이다. 고3 때도 배운 적 있는 거 같긴 하다. 막 버블정렬 이런 거 배우면서. 그만큼 기초적인 내용이라는 거겠지? 아아~ 난 퇴화했다~ 아무튼 시작해 보겠다. SelectionSort - 선택정렬의 정의선택정렬이란 무엇일까? 주어진 배열을 맨 앞부터 쭉 읽어나가 최솟값을 찾아 맨 앞의 배열요소에 위치시키고, 두 번째부터 쭉 읽어나가 읽은 배열요소 중 최솟값을 두 번째에 위치시키고, 세 번째부터 쭉 읽어나가... 를 반복해, 배열요소를 오름차순으로 정렬해 주는 알고리즘이다. 바로 코드로 가보겠다.수업 때 나온 선택정렬의 예시코드void SelectionSort(int* a, const int n) { for (int i = 0; i <..

data lab 2023.10.22
반응형