>백엔드 개발 >파이썬 튜토리얼 >코드 데이 창고의 출현 문제

코드 데이 창고의 출현 문제

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-19 20:11:12907검색

Advent of Code  Day  Warehouse Woes

15일차: 창고 문제

이 퍼즐은 그다지 어렵지 않았습니다. 저는 단지 많은 함수와 if 문 및 루프를 많이 만들고 있다는 것을 알게 되었습니다.

오늘은 2D 그리드 탐색에 조금 피곤해서 포스팅이 늦어졌습니다(하루 쉬어야 했습니다).

언제나 그랬듯이 여기에서 내 솔루션을 찾을 수 있습니다.

다시 한번 말씀드리지만, 오늘 논의할 만큼 중요한 내용은 없습니다. 주요 개념은 다음과 같습니다.

a) 지침에 따라 순환하는 그리드를 탐색하여 어느 방향으로 이동할지 결정합니다.

b) 상자가 어디에 있는지 추적하고 다음 이동이 벽인지 상자인지 확인하고, 상자 확인인 경우 상자를 이동할 수 있는지 여부를 확인합니다.

2부:

a) 퍼즐 지침에 따라 두 개의 상자를 동시에 이동할 수 있는 서로 다른 매개변수를 사용하여 동일한 논리를 적용합니다.

주요 기능:

상자 찾기: find_boxes 함수는 상자의 왼쪽과 오른쪽을 나타내는 상자 반쪽 쌍([ 및 ])을 식별하고 상자 푸시 논리에 사용할 관계를 매핑합니다.

제2창고로 로봇이동
move_robot_in_second_warehouse 함수는 로봇 로직을 확장하여 수정된 그리드를 처리합니다. 상자([])를 밀고 충분한 공간을 확보하기 위해 보다 복잡한 전략을 사용합니다. 상자 관계를 추적하고 필요할 때 일괄적으로 이동합니다.

1부는 기본 그리드와 로봇 로직을 사용하여 상자(O)의 위치를 ​​기반으로 결과를 계산합니다. 반면 2부는 수정된 그리드를 처리하고 고급 이동 규칙을 적용하며 상자([])에 대해 유사한 결과를 계산합니다

그 이상은 아니며, 다양한 조건과 움직임이 포함된 2D 그리드 탐색입니다. 긍정적인 측면으로는 구문과 유용한 라이브러리 기능에 대한 Python 지식이 더욱 향상되고 있다고 생각합니다.

언제나 트위터로 저에게 연락해주세요

위 내용은 코드 데이 창고의 출현 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.