숫자 n과 p와 q가 있다고 가정합니다. 이제 우리가 n명의 사람들이 줄을 서서 서 있다고 가정합니다. 우리는 우리가 어떤 위치에 있는지 모르지만 우리 앞에는 적어도 p 사람이 있고 우리 뒤에는 기껏 q 사람이 있다는 것을 압니다. 가능한 위치의 수를 찾아야 합니다.
따라서 입력이 n =10, p =3, q =4와 같으면 10명이 있고 최소 3명이 앞에 있고 최대 4명이 뒤에 있기 때문에 출력은 5가 됩니다. 따라서 인덱스 [0, 1, 2, 3, 4]에 설 수 있습니다. 예를 들어 인덱스 0에서 9명이 앞에 있고 0명이 뒤에 있습니다.
솔루션은 간단합니다. q+1 및 n-p의 최소값을 반환합니다.
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예
class Solution: def solve(self, n, p, q): return min(q+1, n-p) ob = Solution() print(ob.solve(n = 10, p = 2, q = 5))
입력
10, 2, 5
출력
6