공부를 하다보면


꼭 이렇게 좌절하고 슬럼프 같은 시기가 오는 것 같다.

어떤 때가 되면 언제 보다 예민해지고 모든 일에 신경이 쓰인다.


괜히 다른 사람에게 화가 나기도 하고, 물건한테 화가 나기도 한다.

사실 더 화를 내야 할 대상은 자신인 것을 알고 있는데도 말이다.

자신이 부족하고 불완전하기 때문에 생기는 문제를 다른 사람과 사물에 화내고 있으니 자기 자신이 보기에도 한심해 보인다.


TA, RA라고 불리우는 Teaching Assistant, Researching Assistant 사람들도 보기 싫다.

같이 공부하는 사람이지만 보기 싫다.


아무래도 이유는 간단한 것 같다. 지식을 쌓은 사람들은 거만해진다. 평생 공부만 해온 사람들에게는 지식과 자신이 해온 공부가 최대 자산이기 때문에 남들에게 절대 지기 싫어하는 특징이 있는 것 같다.


어렸을 적 부터 부모님으로부터 지식을 쌓았어도 절대 자만하면 안된다고 했지만, 사람은 가진 것이 많으면 많을수록 지식이 많으면 많을수록 드러내고 싶어하고 힘들어한다.


최근에 공부를 하다가 잘 안돼서 이런 일기를 쓰게 되는 것 같다. 너무 힘든 것은 아닌데 나도 모르게 요즘 집중이 잘 안된다. 무슨 일인지 모르겠다.


'그냥 Just because > Diary' 카테고리의 다른 글

오늘 처음으로 지각했다  (0) 2018.09.30
게으름을 이겨내는 힘  (0) 2018.09.29
교육 봉사 방학하기 마지막날  (0) 2018.06.29
자신의 형편을 알아보는 방법  (0) 2018.06.27
세상에는 부자가 많다  (0) 2018.06.27

C-프로그래밍 3D Array, 3차원 배열 배우기!


이전에 배웠던 1D array와 2D Array를 복습해봅시다.


1D array(1차원 배열)은 row(행)이 하나인 배열이라고 생각하면 된다고 했습니다.

Row(행)이 하나이기 때문에 단순히 int Array[10] = {0}; 이렇게 초기화와 동시에 선언해줄 수 있다고 했습니다.


반면에 2D array(2차원 배열)은 row(행)가 2개인 배열이라고 생각하면 된다고 했는데요.

Row(행)이 두 개이기 때문에 int Array[2][3] = {0}; 이런식으로 선언과 초기화가 동시에 가능할 것입니다.


ex) [ 1D - Array] 

 int Array[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

for(i=0; i<10; i++){

printf(" %4d", Array[i]);

}


result : 1   2   3   4   5   6   7   8   9   10


ex) [2D - Array]

int Array[2][3]={{1,2,3},{4,5,6}};


for(i=0; i<2; i++){

for(j=0; j<3; j++){

printf("%4d", Array[i][j]);

 }

printf("\n");

}

result : 1   2   3

    4   5   6


이런 식으로 출력됨을 알 수 있습니다.


이제 부터 조금 어렵습니다! 드디어 3D-Array 3차원 배열인데요,

사실 3차원 배열부터는 사용할 일이 거의 없습니다.

3차원 배열을 생각할 때 쉽게 생각하려면

1차원 배열이 선이었다면, 2차원 배열은 면이고, 3차원 배열은 부피(?), 라고 생각하면 되겠습니다.

1차원 배열에서 row(행)이 여러개 추가된게 2차원 배열이었으니,

3차원 배열은 1차원 배열에서 하나 더 추가 되어야 겠지요?


ex) 1D-Array int array[10];

{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

ex) 2D-Array int array[2][3];

{{1, 2, 3}, {4, 5, 6}};

ex) 3D-Array int array[2][2][3];

{ { {1, 2, 3}, {4, 5, 6} }, { {1, 2, 3}, {4, 5, 6} } };


얼핏 보기에는 조금 어렵죠? 1차원 배열이 위 같이 선언되었다면, 요소가 10개인 1차원 배열이 하나 선언되었다고 생각하면 됩니다.

2차원 배열이 위 같이 선언되었다면 3개 짜리 요소를 가진 행이 두 개 있다. 라고 생각하면 쉬울 듯 합니다.

3차원 배열은 뒤에서부터 생각하면 쉬울 것 같은데요, 3개짜리 요소를 가진 행 두개가 두 개 있다. 라고 생각하면 쉽죠?


[2][2][3] 이니까, 3개 짜리 요소를 가진 행 2개가 2번 있다!

{{1, 2, 3}, {4, 5, 6}}, {{1, 2, 3}, {4, 5, 6}}

이렇게 되는 겁니다!


3차원 배열은 사실 쓰일 일이 많이 없다는게 함정입니다.(Karnaugh map(K-Map)에서도 6-Variables 부터는 잘 안 쓰이는 것 처럼 말입니다.)


고생하셨습니다.


나중에 더욱 더 품격있는 강의로 돌아오겠습니다.

Happy Studies!

+ Recent posts