최근 포스트

cs50 4강 정렬 알고리즘

버블 정렬 앞에서 살펴보았듯, 자료를 찾을 때에는 정렬의 유무에 따라 소요 시간이 크게 차이날 수 있다. 정렬 알고리즘엔 크게 버블 정렬과 선택 정렬이 있으며, 우리는 비교적 간단한 버블 정렬에 대해 먼저 알아보도록 하자. 정의 집합 내의 이웃 요소들을 교환하여 정렬한다. 그 이후...

cs50 4강 검색 알고리즘

들어가기에 앞서 위 파트는 챕터4인 알고리즘 파트의 세션 1-3까지만 정리한 글입니다. 검색 알고리즘에 대해 다루는 게시물 하나, 정렬 알고리즘 게시물(6세션 까지),나머지 재귀와 병합정렬 게시물 하나로 총 3개의 게시물로 정리할 예정입니다. 검색 알고리즘 여기에서 말하는 검색 알...

cs50 3강 문자열

문자열이란 말 그대로 여러개의 char이 결합된 형태이다. 즉 배열와 마찬가지로 메모리에 순차적으로 올려놓을 수 있기 때문에, 대부분의 c언어 책과 강의에서는 문자열과 배열을 거의 동시에 다루거나 바로 다음번 챕터에 배치해두는 경우가 많다. 하지만, 문자열은 널 종단 문자라는 독특...

cs50 3강 명령행인자

main함수 작성하기 main함수의 인자의 개수를 지정하기 위해서는 argc를 사용할 수 있다. argc를 사용하면, 내 생각대로 인자가 모두 전달된 것인지 확인할 때에 유용하다. argc 활용법 나의 경우 멀티 프로세스와 메일슬롯으로 간단한 메시지 창을 만들 때에 이 기능을 활용...

cs50 3강 4-5세션 배열

배열이란 메모리상에 연속선상으로 놓여있는 자료물이다. 연속선상이라는 키워드는 배열을 설명할 때에 상당히 중요한데, 그 이유는 c언어에서 포인터로 배열을 읽어올 때 배열의 이름 만으로도 배열의 시작점이 되는 주소값을 읽어올 수 있는 이유가 바로 여기에 있기 때문이다. 우선 우리는 배...