하찮은 19학번 컴공대생
yoonbot's devlog

전체 글 23

Insertion Sort (삽입 정렬)

이름과 다르게 추가 키 값을 삽입하지는 않는다. 그냥 입력한 배열에 있는 숫자들을 두 묶음으로 나뉘어 진다. 왼쪽 묶음은 정렬된, 오른쪽 묶음은 정렬 안 된. 정렬되지 않은 오른쪽 묶음에 있는 숫자들이 하나하나 왼쪽 묶음으로 옮겨지면서 각 정렬된 숫자들을 비교하며 적절한 자리를 잡는다. 물론 처음에 배열 전체가 정렬되지 않았을 초기 때는 둘 째 숫자 array[1] 가 첫 째 숫자 array[0]이랑 서로 비교를 시작하고 나서야 정렬된 왼쪽 묶음이 탄생한다. 말 그대로 array[n]이 array[n - 1]을 계속 비교한다. 내가 방금한 설명을 이해 못 했다면 비쥬얼로 설명하자. 메서드: 네이브 (Naive) 의사 코드는 다음과 같다. Insertion-Sort(A) for j = 1 to A.leng..

뱀 게임 (Snake Game)

처음으로 8비트 짜리 게임을 구현해봤다. 기본 C++밖에 모르는 나는 어느새 Visual Studio로 한 10개 정도의 소스파일들을 만들고 그 10개의 파일들로 인해 간단한 컴퓨터 게임이 실행하는걸 성공했다. 그리고 나는 처음으로 그래픽스를 매니지 하는 라이브러리를 응용했기 때문에 프로그램이 정상적으로 컴파일을 할 수 있다는게 감격스러웠다. 나는 원래 링크드 리스트로 구현하려고 했지만 더 좋고 효율적인 벡터들을 응용하게 되었다. 다들 어렸을때 한번쯤은 해봤을 게임이다 (요근래 어린 친구들은 과연 이 뱀 게임을 잘 알지 모르겠지만). 원래 이 게임을 실행하던 컴퓨터들은 애초에 회색/검은색 화면에서 쪼그만 뱀 한 마리가 동동 화면 속으로 기어다니고 있었다. 규칙들은 간단하게 뱀의 방향키들이 연속으로 반대 ..

2021 -01학기를 마치며

바로 본론으로 들어가면 방금 마친 2021 -01학기는 지난 2020 -02학기에 비해 많이 나아졌다. 지난 2020 -02학기 때는 내가 애초에 왜 컴공을 들었는지 컴공에 대한 흥미를 잃어버렸고 내 자신의 정체성을 의문하기도 했다. 나는 대체 무언가에 작성이 맞는지. 내가 왜 애초에 존재하는지. 그런 고민과 의문에 빠져들면서 나는 지난 학기 내내 우울했으며 대부분 공허했다. 그래서 물론 학점도 많이 광탈해버리고 그냥 아무것도 하기 싫어했다. 하지만, 새해를 맞이하며 훌쩍 지나가버린 올해 1학기는 그나마 조금 더 나아졌다. 이번에는 그래도 모든 과목에 조금이라도 공을 들여서 올해 1학기는 지난 2학기보다 생각보다 조금 더 괜찮게 마친 것 같다. 내가 갑자기 어떤 계기로 컴공을 다시 제대로 배워야겠고 다짐..