python 4

[학습 정리] 파이썬으로 이해하는 컴퓨터 기초 - 메모리 구조, 부동소수점, 음수 표현

2026.06 CJ 올리브네트웍스 AI SW WAVE 복기 Python 교육 2~3일차에 정리한 CS 질문들을 다시 복기하며 정리한 글입니다. 문법을 아는 것과 "왜 그렇게 동작하는지"를 아는 것은 다른 문제라서, 헷갈렸던 개념들을 예시와 함께 기록했습니다.나중에 다시 볼 때 바로 이해할 수 있도록 결론부터 요약하고, 그 아래에 풀어서 설명하는 순서로 썼습니다.1. 변수를 선언하면 메모리에서 무슨 일이 일어날까한 줄 요약변수 선언 시 값은 힙(Heap)에 저장되고, 함수 실행 중에는 스택(Stack)에 프레임이 생겨 그 값을 가리킨다. 함수가 끝나면 스택 프레임은 사라지고, 아무도 가리키지 않는 힙 객체는 가비지 컬렉터가 수거한다. 메모리는 세 공간으로 나뉜다 전역 영역함수 밖에서 선언된 변수, 함수 이..

[python] 파이썬답게 순환하기

'파이썬 코딩의 기술'을 읽으며 '순환'과 관련된 패턴을 학습하며 정리한 내용입니다. 파이썬 코딩의 기술 51 | 데이비드 메르츠 - 교보문고파이썬 코딩의 기술 51 | 파이썬 설계 철학까지 이해하는 파이썬 코딩의 기술 실전편 51! 지금보다 더 나은 프로그래머가 되고 싶은, 모든 파이썬 개발자를 위한, 파이썬 전문가 가이드!파이썬 코product.kyobobook.co.kr 목차1. 인덱스 순환 대신 enumerate() 사용하기2. dict.keys() 대신 dict.items() 활용하기3. 순환 중 컬렉션 변형하지 않기4. 가능하면 while 대신 for 사용하기5. 바다코끼리 연산자(:=)로 loop-and-a-half 단순화하기6. zip()으로 병렬 순환 가독성 높이기 1. 인덱스 순환 대신..

[백준] 2467 용액 풀이 (Python)

문제 정보문제 링크 : BOJ 2467 용액 문제 난이도 : 골드 5유형 : 투 포인터1. 문제 접근 이 문제는 입력으로 주어지는 용액들의 값이 이미 오름차순 정렬되어 있으며,각 값의 크기 범위가 매우 넓어 모든 조합을 확인하는 완전 탐색 방식은 O(N²)라 비효율적이다. 두 용액의 합을 0에 가장 가깝게 만들어야 하므로,정렬된 배열의 양 끝에서 시작해 두 값을 비교하고 조절해 나가는 투 포인터 방식이 가장 적합하다. (1)합이 0보다 크면 오른쪽 포인터를 왼쪽으로 이동시키고,합이 0보다 작으면 왼쪽 포인터를 오른쪽으로 이동시키는 방식으로필요 없는 경우의 수를 빠르게 제거할 수 있다. (2)정렬된 상태에서는 두 인덱스를 동시에 조절하며 합을 좁혀가는 방식이 가장 효율적이기 때문에,투 포인터가 이 문제에서..

[백준] 3079 입국심사 풀이 (Python)

문제 정보문제 링크 : BOJ 3079 입국심사 문제 난이도 : 골드 5유형 : 이분탐색 / 매개변수 탐색 1. 문제 접근이 문제는 전체 심사를 끝내는 데 필요한 최소 시간을 찾는 문제이기 때문에“특정 시간 t 안에 m명을 처리할 수 있는가?”를 판단하는 형태로 재정의했다. 어떤 값을 기준으로 이분 탐색하는가? → 시간(time)결과적으로 우리가 구하고 싶은 값이 “최소 시간” 자체이므로탐색의 기준값을 시간(time)으로 두는 것이 가장 자연스럽다. 또한 시간이 커질수록 처리할 수 있는 인원 수가 증가하기 때문에‘가능 / 불가능’을 단조적으로 분리할 수 있어 이분 탐색이 성립한다. 어떤 값을 비교해야 하는가? → t 시간 동안 처리 가능한 총 인원 수특정 시간 t를 가정했을 때,각 심사대는 t // 심사..