본문 바로가기
CodeSignal

Count Sum of Two Representations 2

by Doromi 2024. 2. 26.
728x90
반응형

주어진 정수 n을 두 정수 A와 B의 합으로 나타낼 때, A와 B가 주어진 범위 [l, r]에 속하는 경우의 수를 찾는 것입니다.

주어진 범위 [l, r] 내에서 A와 B를 선택하여 n을 만드는 경우의 수를 구하는 방법은 다음과 같습니다:

A를 l부터 r까지 선택합니다.
선택한 A에 대해 B를 선택합니다. B는 A보다 같거나 크면서, n - A보다 작거나 같은 범위여야 합니다. 즉, B는 max(A, n - A)부터 r까지 선택 가능합니다.
선택한 A와 B에 대해 n = A + B를 만족하는 경우의 수를 세어줍니다.

def solution(n, l, r):
    count = 0
    for A in range(l,r+1):
        if  n - A >= A and n- A <= r:
            count += 1
    return count
solution 함수는 주어진 범위 [l, r] 내에서 n을 만드는 경우의 수를 세는 역할을 합니다. for 루프를 통해 A를 l부터 r까지 선택하고, 선택한 A에 대해 n - A가 A와 r 사이에 있는지 확인하여 경우의 수를 카운트합니다. 최종적으로 카운트된 경우의 수를 반환합니다.
r + 1을 하는 이유는 Python의 range() 함수가 종료 값(stop)을 포함하지 않고 생성하기 때문입니다.
예를 들어, range(l, r)은 l부터 r-1까지의 정수를 생성합니다. 따라서 r까지 포함하려면 range(l, r + 1)과 같이 종료 값에 1을 더해야 합니다.
따라서 주어진 범위 [l, r] 내에서 반복문을 수행하기 위해서는 range(l, r + 1)과 같이 종료 값에 1을 더해주어야 합니다.
728x90
반응형

'CodeSignal' 카테고리의 다른 글

rotateImage  (1) 2024.02.28
firstNotRepeatingCharacter  (0) 2024.02.27
Kill K-th Bit  (0) 2024.02.22
Tennis Set  (0) 2024.02.20
Late Ride  (0) 2024.02.06