전체 글(143)
-
컴퓨터구조 | 0과 1밖에 모르는 컴퓨터가 어떻게 정수, 실수, 문자를 다룰까?
CPU는 전압의 높낮이, 즉 0과 1밖에 구분하지 못하는 회로 덩어리다. 그런데 우리는 컴퓨터로 정수도 계산하고, 실수도 계산하고, 문자도 다룬다. 0과 1밖에 모르는 기계가, 어떻게 이렇게 서로 다른 것들을 구분해서 처리하는 걸까?1. 컴퓨터의 물리적 실체: CPU와 메모리컴퓨터 안에는 결국 딱 두 종류의 물리적 장치만 있다고 봐도 된다. CPU — 전압의 높낮이를 0과 1로 해석해서, 정해진 물리 법칙에 따라 그 비트 패턴을 변환하는 회로 장치다. 내부에는 다음과 같은 하위 회로들이 있다.ALU(산술논리장치): 정수 덧셈·뺄셈·비교 등을 수행하는 회로FPU(부동소수점 장치): 실수(부동소수점) 연산을 전담하는 별도 회로레지스터: 비트를 잠깐 저장하는 아주 작고 빠른 저장 공간디코더: 특정 비트 패턴(..
2026.09.10 -
크래프톤 정글 WIL | 3주차: 알고리즘, 자료구조 (2)
이번 주 학습 키워드 컴퓨팅 사고로의 전환: 알고리즘, 자료구조 트리, 이진 검색 트리그래프, BFS, DFS, 위상정렬동적 계획법(Dynamic Programming, DP)탐욕 알고리즘(Greedy Algorithm)우선순위 큐 이번 주 결과물Github Repository: 알고리즘 코드 SW-AI-W02-03/week3 at main · hnjee/SW-AI-W02-03크래프톤 정글 2-3주차 | 자료구조, 알고리즘. Contribute to hnjee/SW-AI-W02-03 development by creating an account on GitHub.github.com기억에 남는 공부 3가지1. 트리 이번 주차에는 그래프와 트리에 대한 내용을 전체적으로 배웠다. 접해본 개념이었지만 이번에는 ..
2026.09.10 -
파이썬 | class, instance, self, type의 관계
파이썬으로 class Stack: ...을 정의하고 s = Stack()으로 인스턴스를 만드는 건 너무 익숙한 코드다.하지만 이 두 줄 뒤에서 파이썬이 내부적으로 무슨 일을 하는지 알아보자. 1부. 클래스와 인스턴스의 관계 — 틀과 실제로 찍어낸 것클래스는 틀, 인스턴스는 그 틀로 찍어낸 것붕어빵 틀 = 클래스(Stack) — "어떤 모양으로 찍어낼지"에 대한 설계도붕어빵 = 인스턴스(s) — 그 틀로 실제로 찍혀 나온, 손에 쥘 수 있는 결과물class Stack: def __init__(self): self._data = [] def push(self, item): self._data.append(item) def __repr__(self): r..
2026.09.09 -
알고리즘 | 레이어로 나누어 생각하기
정글에서 첫 2주간 여러 주제의 알고리즘 문제를 풀어보았다. 이전엔 이런 문제가 나오면 이런 식으로 풀면 된다고 외웠는데, 이번에는 이 알고리즘이 어떤 이유로 나오게 되었을지가 궁금해졌다. 그러다보니 모든 문제들은 비슷한 몇 가지 목표를 가지고 있고, 그 목표를 이루기 위한 여러가지 전략으로서 다양한 알고리즘들이 발명된 것이구나 깨닫게 되었다. 그래서 새로운 문제를 만나면 이런 문제는 무슨 알고리즘으로 풀어야했는지 기계적으로 연결짓기보다, 내가 지금 뭘 구하고 싶은가를 물어보고 생각해보는 시간을 가지려고 했다. 목표가 정해지면, 그 목표를 이루는 전략은 자연스럽게 후보가 몇 개로 좁혀지고, 이에 적합한 자료구조와 구현방법을 사용하면 효율적인 알고리즘 코드를 짤 수 있게된다. 이 포스팅은 그 과정에서 배..
2026.09.08 -
알고리즘과 자료구조의 관계
알고리즘과 자료구조의 관계알고리즘: 이 문제를 효율적으로 풀기 위해 어떤 순서로, 어떤 데이터에 접근할 것인가? → 절차, 로직자료구조: 어떻게 데이터를 배치해야 그 절차가 효율적으로 돌아갈까 → 물리적 저장 형태즉, 자료구조는 알고리즘이 필요로 하는 데이터 접근 순서를 물리적으로 구현해주는 수단이다. 생각해보면 값을 저장하는 것 자체는 배열에 쭉 저장해도 가능하다. 하지만 그렇게 하면 알고리즘이 다음 단계에서 원하는 결과에 바로바로 접근하지 못하게 된다. 메모리 자체는 사실 단순하다. 그냥 번지수가 붙은 저장 공간이 일렬로 늘어서 있을 뿐이다. 이 위에 "어떻게 배치하면 특정 연산이 빨라질까"를 사람이 고민해서 만든 설계 패턴이 배열, 연결리스트, 해시테이블, 트리, 힙 같은 것들이다. 그런데 모든 연..
2026.09.08 -
파이썬 | 변수, 참조, 스코프 개념 정리
전체 개념 지도 (요약)[대주제 1] 변수와 객체의 관계 │ ▼[대주제 2] 이름표의 저장 위치와 유효 범위 (namespace, scope) ├─ namespace: "이름→참조" 매핑이 저장되는 테이블 ├─ LEGB: 읽기는 자동 탐색, 쓰기는 무조건 지역 생성 └─ global/nonlocal: 쓰기 시 바깥 스코프 명시 지정 │ ▼[대주제 3] 코드 한 줄의 실제 동작: mutate vs rebind ├─ mutation(내부 수정) vs rebinding(재할당) ├─ mutable/immutable: mutation이 가능한 타입인가 ├─ in-place 메서드는 None 반환이 관례 └─ 이름표를 잃은 객체는 ref..
2026.09.05