RSS DEV 커뮤니티

디스크 조각기

저자는 Advent of Code 2024 Day 9 챌린지를 진행하고 있으며, 여기에는 3단계 건틀릿이 포함됩니다. 첫 번째 단계에는 메모리를 목록으로 표시하고, 값을 끝에서 처음으로 이동하고, 체크섬을 계산하는 작업이 포함됩니다. 저자는 이 단계를 해결하기 위한 알고리즘을 개발했는데, 루프를 사용하여 디스크 표현을 만든 다음 값을 이동시키는 것입니다. 알고리즘은 빈 공간을 확인하고 특정 수의 연속된 빈 공간을 찾으면 중지합니다. 또한 저자는 첫 번째 빈 셀까지 모든 값을 추출하고 각 값과 해당 인덱스의 곱을 합산하여 체크섬을 계산했습니다. 2부에서 저자는 파일 블록과 빈 셀의 크기를 추적하고 파일 블록을 빈 공간으로 이동하는 것과 관련된 새로운 전략을 개발했습니다. 저자는 또한 단편화 과정을 시각화하기 위해 디스크 프린터를 코딩했습니다. 마지막 단계는 이중 감소 방법을 사용하여 새 체크섬을 계산하는 것입니다. 저자는 챌린지의 두 부분을 모두 성공적으로 해결했으며 10일차로 넘어가고 있습니다.
favicon
dev.to
Disk Fragmenter