> 백엔드 개발 > 파이썬 튜토리얼 > 코드의 출현 &#- DayDisk 조각화기(Python)

코드의 출현 &#- DayDisk 조각화기(Python)

Barbara Streisand
풀어 주다: 2024-12-17 10:45:24
원래의
172명이 탐색했습니다.

Advent of Code

코드의 출현 9일 차: 디스크 조각화기

오늘의 해결 방법은 오늘 Python에서만 수행되었습니다. 그런데 Python과 C#을 모두 작성하고 글을 작성할 시간을 찾기가 어렵기 때문에 앞으로는 둘 중 하나를 수행하기로 결정했습니다. .

1부

이것은 상당히 간단했습니다. 요청은 입력을 id와 빈 공백으로 변환하는 것이었습니다. 여기서 홀수 인덱스는 id이고 짝수는 빈 공백(.)이었고 입력의 숫자와 상관 관계에 대해 x번 반복합니다.

1234 =>

1 => 1x ID --> 0
2 => 2x 비어 있음 --> ..
3 => 3x ID --> 111
4 => 4x 비어 있음 --> ....

전체 라인 => 0..111....

그런 다음 가장 오른쪽 요소를 가장 왼쪽의 빈 공간으로 이동하라는 요청을 받았습니다.

즉, 1번 이동 -> 첫 번째(.)는 두 개의 루프를 사용하여 이 작업을 수행합니다. 하나는 뒤쪽에서 시작됩니다. 앞, 다른 쪽 앞 -> 뒤쪽.

ID를 찾으면 앞에서부터 이동하여 첫 번째 빈 공간을 찾고, 이러한 지점을 전환하고, 오른쪽부터 모든 숫자가 왼쪽 빈 공간으로 이동할 때까지 계속합니다.

오른쪽 인덱스가 항상 왼쪽 인덱스보다 크거나 중간에서 만나지 않은 채 계속 진행됩니다.

2부

이제 가장 왼쪽의 빈 공간을 찾는 대신, 전체 파일(ID)을 넣을 수 있는 가장 왼쪽의 빈 공간을 찾아야 합니다. 예를 들어 fileId가 9999인 경우 4가 필요합니다. 빈 공간을 함께 사용하고, 그렇지 않으면 다음 빈 공간으로 이동합니다. 빈 공간이 없으면 다음 파일 ID로 이동합니다.

[스포일러] -> 솔루션은 GitHub에서 찾을 수 있습니다

언제나 그렇듯이 Twitter에서 연락하고 팔로우할 수 있습니다

위 내용은 코드의 출현 &#- DayDisk 조각화기(Python)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿