본문 바로가기

PYTHON

[백준] 골드V 7576번: 토마토 (Python) 문제http://www.acmicpc.net/problem/75762차원 그리드에서 BFS를 사용하여 특정 조건을 만족하는 최소의 단계를 찾아야 하는 문제이다.모든 토마토가 익게 되는 최소 일수를 계산해보자. 풀이from collections import dequeimport sysinput = sys.stdin.readlinedx = [0, 0, 1, -1]dy = [1, -1, 0, 0]def conter(graph): count_zero = 0 for row in graph: for cell in row: if cell == 0: count_zero += 1 return count_zerodef bfs(graph): g.. 더보기
Python - 메모리 관리 gc.collect() vs malloc_trim() 파이썬은 개발자가 직접 메모리를 할당하거나 해제할 필요가 없는 고수준의 프로그래밍 언어로 파이썬에서는 내부적으로 메모리 관리를 자동으로 처리한다고 생각해와서 메모리 관리를 신경쓰지 않고 개발을 해왔었다...  최근 파이썬 코드를 실행하는 도커 컨테이너에서 메모리가 증가하고 반환되지 않는 문제를 발견하여 파이썬이 메모리를 관리하는 내부 메커니즘에 대해 자세하게 공부해보았다. 그리고 추가로 ... 해당 문제가 메모리 누수가 아닌 Linux의 특징이라는 새로운 사실도 알게되었다.  메모리의 구조  코드 영역 - 스크립드의 바이트코드와 실행될 프로그램의 기계어 코드가 저장됨.데이터 영역 - 정적 변수와 전역 변수가 저장됨.힙 영역 - 동적 메모리 할당이 이루어 지는 곳스택 영역 - 로컬변수, 매개변수, 반환 주.. 더보기