> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 주간 챌린지 작업을 단계별로 해결하기

Python에서 주간 챌린지 작업을 단계별로 해결하기

Linda Hamilton
풀어 주다: 2025-01-04 12:29:35
원래의
864명이 탐색했습니다.

Solving the Weekly Challenge  Task Step by Step in Python

1. 소개

Mohammad S. Anwar가 주최한 주간 챌린지는 개발자들이 두 가지 과제를 해결하여 경쟁하는 우호적인 경쟁입니다. 학습, 공유, 즐거움을 통해 모든 언어와 수준의 개발자의 참여를 장려합니다.

과제 2: 주간 챌린지의 단계별 진행에서는 개발자가 단계별 합계가 1보다 작지 않게 만드는 시작 값을 찾아야 합니다.

이 게시물에서는 작업 2: 단계별로 Python 언어 솔루션에 대해 논의하고 제시하며 간략한 결론으로 ​​마무리합니다.

2. 작업 2: 단계별

정수 배열 @int가 제공됩니다.

단계별 합계가 1보다 작지 않도록 최소 양의 시작 값을 찾는 스크립트를 작성하세요.

주간 챌린지 302, 과제 2: 단계별

예 1 - 3은 주어진 입력에서 예상되는 출력을 나타냅니다.

실시예 1

Input: @ints = (-3, 2, -3, 4, 2)
Output: 5
로그인 후 복사

시작 값 5.

5 + (-3) = 2
2 + (+2) = 4
4 + (-3) = 1
1 + (+4) = 5
5 + (+2) = 7
로그인 후 복사

실시예 2

Input: @ints = (1, 2)
Output: 1
로그인 후 복사

실시예 3

Input: @ints = (1, -2, -3)
Output: 5
로그인 후 복사

3. 과제 2에 대한 나의 해결책

def return_min_start(ints: list[int]) -> int | None:
    for start_value in range(1, 1000000):
        step_sum = start_value + ints[0]
        if step_sum < 1:
            continue
        for index in range(1, len(ints)):
            step_sum += ints[index]
            if step_sum < 1:
                break
        if step_sum >= 1:
            return start_value
    return None
로그인 후 복사

내 솔루션은 for 루프와 if 문을 사용하여 작업 요구 사항과 일치하는 start_value를 점진적으로 검색합니다.

  • [1, 1000000) 범위 내에서 시작값을 점진적으로 검색합니다. 각 start_value에 대해 다음을 수행합니다.
    • start_value와 ints[0]의 단계별 합계(step_sum)를 계산합니다. step_sum이 1보다 작으면 다음으로 가능한 start_value로 다시 시작합니다.
    • int의 나머지 요소에 대해 step_sum을 계산합니다. 어떤 요소에서든 step_sum이 1보다 작으면 가능한 다음 start_value로 다시 시작합니다.
    • start_value의 최종 step_sum이 1보다 크면 start_value를 반환합니다.
  • [1, 1000000) 범위 내에서 start_value를 찾지 못하면 None을 반환합니다.

4. 결론

이번 게시물에서는 작업 2: 단계별에 대해 논의하고 해결책을 제시했습니다.

주간 챌린지 웹사이트에서 최신 및 과거 챌린지에 대해 자세히 알아보세요.
https://theweeklychallenge.org/

주간 챌린지 FAQ에서 경쟁에 대해 자세히 알아보세요.
https://theweeklychallenge.org/faq/

위 내용은 Python에서 주간 챌린지 작업을 단계별로 해결하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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