
사수 없이 입사 초기부터 퇴사까지 앱 개발팀을 팀장으로서 이끌었다. 팀을 이끌며 많은 걸 경험했지만, 기술적으로는 전혀 성장하지 못했다. 아직 관리자가 되기에는 개발 경험이 부족했고, 무엇보다도 여전히 개발이 더 재미있고 매력적으로 느껴졌기 때문에, 결국 퇴사를 결

"나는 내가 꿈꾸던 개발자가 되었는가?"고등학교 시절, 기능 대회 참가를 계기로 개발을 시작했다. 그러나 그때나 지금이나, 나는 변하지 않았다. 늘 "그냥" 개발을 했고, "그럭저럭" 살아왔다.항상 멋진 개발자가 되고 싶었지만, 바쁘다는 핑계로, 또 지금도 나쁘지 않다

컴퓨터 시스템은 하드웨어와 시스템 소프트웨어로 구성되며, 이들이 함께 동작해 응용프로그램을 실행한다. 시스템의 구현방법은 시간에 따라 바뀔 수 있지만, 근본적인 개념들은 변하지 않는다.작성한 글자는 컴파일러나 시스템에 의해 ASCII 코드 등의 숫자로 변환되고, 그 숫

하나의 함수가 실행되는 동안 다른 함수를 호출할 수 있고, 실행되는 함수 자신을 다시 호출할 수 있다.n 이 0 이하인 경우: 발사! 출력n 이 양의 정수인 경우: n을 출력한 다음 바로 countdown(n - 1) 호출재귀 함수를 멈추려면 재귀 호출 과정에서 언젠가

알고리즘 수행 시간 측정 방법 절대 시간 측정 프로그램을 실행하여 결과가 나올 때까지의 시간을 측정하는 방법이다. 이 방법은 프로그램을 실행하는 환경에 따라 달라질 수 있어서 코딩 테스트에서는 잘 활용하지 않는다. 시간 복잡도 측정 알고리즘이 시작한 순간부터 결

GPT한테 썸네일 부탁했는데 뭐지...? 대구 사람인거 아는건가ㅋㅋ미니 프로젝트 발표를 마친 뒤, 여러 가지 생각이 들었다. 우선 내 발표에는 '과정'이 빠져 있었다. 결과만 보여줬고, 그 중에서도 좋은 부분만 강조했다. 아마 남과 비교하는 내 성향 때문인 것 같아,

이웃한 두 원소의 대소 관계를 비교하여 필요에 따라 교환을 반복하는 알고리즘배열을 오름차순으로 정렬한다면 왼쪽의 값(9)이 오른쪽의 값(8)과 같거나 작아야 한다.따라서 9와 8을 교환하면 다음과 같이 된다.이렇게 이웃한 원소를 비교하고, 필요하면 교환한다. 이때 원소

가장 작은 원소부터 선택해 알맞은 위치로 옮기는 작업을 반복하며 정렬하는 알고리즘이다.아직 정렬하지 않은 범위에서 값이 가장 작은 원소를 선택하고, 아직 정렬하지 않은 부분의 맨 앞 원소와 교환하는 작업을 반복한다.단순 선택 정렬에서 교환 과정은 다음과 같다.아직 정렬

주목한 원소보다 더 앞쪽에서 알맞은 위치로 삽입하며 정렬하는 알고리즘이다. 단순 선택 정렬과 비슷해 보이지만 값이 가장 작은 원소를 선택하지 않는다.예를 들어 3인 원소를 선택해 앞쪽에 삽입할 때 왼쪽에 이웃하는 원소가 선택한 원소(3)보다 크면, 그 값을 오른쪽에 이

단순 삽입 정렬의 장점은 살리고 단점은 보완하여 더 빠르게 정렬하는 알고리즘이다.두 번째 원소부터 주목하여 2, 3, 4, 5를 순서대로 선택하여 정렬한다. 여기까지는 이미 정렬을 마친 상태이므로 원소의 이동(값의 대입)은 발생하지 않는다.이 단계까지는 아주 빠르게 완

메모리에 저장된 각각의 비트들을 접근하는 방식 대신에 대부분의 컴퓨터들은 메모리에서 주소지정이 가능한 최소단위인 8비트 단위의 블록 바이트를 사용한다.기계수준의 프로그램은 메모리를 가상메모리라고 하는 거대한 바이트의 배열로 취급한다.메모리의 각 바이트는 고유한 숫자로

컴퓨터 시스템은 근본적으로 비트(0과 1)를 사용하여 정보를 저장하고 처리한다. 하지만 개별 비트를 다루는 건 번거롭다. 대신 대부분의 컴퓨터는 8개의 비트를 묶은 바이트(byte)를 정보의 기본 단위로 사용한다. 메모리는 바이트 단위로 주소 지정이 가능한 거대한 배열

정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있다.변수 3개(start, end, mid)를 사용하여 탐색한다.찾으려는 데이터와 중간점 위치에 있는 데이터를 반복적으로 비교해 원하는 데이터

힙은 특정한 규칙을 가지는 트리로, 최댓값과 최솟값을 찾는 연산을 빠르게 하기 위해 고안된 완전 이진 트리를 기본으로 한다.A가 B의 부모노드이면 A의 키값과 B의 키값 사이에는 대소 관계가 성립한다.최소 힙: 부모 노드의 키값이 자식 노드의 키값보다 항상 작은 힙최대

부호 비트를 사용하는 방식1의 보수2의 보수가장 왼쪽에 있는 비트를 부호 비트로 사용하여 1인 경우 음수, 0인 경우 양수로 나타낸다.\+43, -43을 비트로 나타낸 것가장 왼쪽 비트만 양수 음수를 표현할 수 있는 비트로 둔다.컴퓨터는 하나의 값에 하나의 의미만 부여

Key, Value로 데이터를 저장하는 자료구조 중 하나로 빠르게 데이터를 검색할 수 있는 자료구조이다.내부적으로 배열(버킷)을 사용하여 데이터를 저장한다.각각의 Key값에 해시함수를 적용해 배열의 고유한 index를 생성해 검색하기 때문이다.Key, Value가 ("

유튜브 채널 쉬운코드의 레드-블랙 트리 강의를 기반으로 정리한 내용입니다. (바로가기) Read-Black 트리 개념 레드-블랙 트리 예시 이진 탐색 트리(BST)의 한 종류 스스로 균형(balancing) 잡는 트리 BST의 worst case의 단점을 개선 모