오늘의 해결 방법은 오늘 Python에서만 수행되었습니다. 그런데 Python과 C#을 모두 작성하고 글을 작성할 시간을 찾기가 어렵기 때문에 앞으로는 둘 중 하나를 수행하기로 결정했습니다. .
이것은 상당히 간단했습니다. 요청은 입력을 id와 빈 공백으로 변환하는 것이었습니다. 여기서 홀수 인덱스는 id이고 짝수는 빈 공백(.)이었고 입력의 숫자와 상관 관계에 대해 x번 반복합니다.
1234 =>
1 => 1x ID --> 0
2 => 2x 비어 있음 --> ..
3 => 3x ID --> 111
4 => 4x 비어 있음 --> ....
전체 라인 => 0..111....
그런 다음 가장 오른쪽 요소를 가장 왼쪽의 빈 공간으로 이동하라는 요청을 받았습니다.
즉, 1번 이동 -> 첫 번째(.)는 두 개의 루프를 사용하여 이 작업을 수행합니다. 하나는 뒤쪽에서 시작됩니다. 앞, 다른 쪽 앞 -> 뒤쪽.
ID를 찾으면 앞에서부터 이동하여 첫 번째 빈 공간을 찾고, 이러한 지점을 전환하고, 오른쪽부터 모든 숫자가 왼쪽 빈 공간으로 이동할 때까지 계속합니다.
오른쪽 인덱스가 항상 왼쪽 인덱스보다 크거나 중간에서 만나지 않은 채 계속 진행됩니다.
이제 가장 왼쪽의 빈 공간을 찾는 대신, 전체 파일(ID)을 넣을 수 있는 가장 왼쪽의 빈 공간을 찾아야 합니다. 예를 들어 fileId가 9999인 경우 4가 필요합니다. 빈 공간을 함께 사용하고, 그렇지 않으면 다음 빈 공간으로 이동합니다. 빈 공간이 없으면 다음 파일 ID로 이동합니다.
[스포일러] -> 솔루션은 GitHub에서 찾을 수 있습니다
언제나 그렇듯이 Twitter에서 연락하고 팔로우할 수 있습니다
위 내용은 코드의 출현 - DayDisk 조각화기(Python)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!