반응형
코드
l = int(input())
s = list(map(int,input().split()))
n = int(input())
s.sort()
if n in s:
print(0)
else:
cnt = 0
min_n = 0
for i in s:
if i < n:
min_n = i
elif i > n:
max_n = i
break
for i in range(min_n+1,max_n-1):
for j in range(i+1,max_n):
if i <= n and j >= n:
cnt += 1
print(cnt)
설명
주어진 집합에서 n보다 작은 수들 중에 가장 큰 수를 min_n이라 하고 n보다 큰 수들 중에 가장 작은 수를 max_n이라고 했다.
A와 B는 min_n과 max_n 사이에 존재하고, A는 항상 n보다 작거나 같아야 하고, B는 n보다 크거나 같아야 한다.
처음에 min_n의 초기값을 지정하지 않았는데, 집합에서 만약 n보다 작은 수가 존재하지 않는 경우 오류가 났다. 이런 반례가 존재하기 때문에 min_n의 초기값을 0으로 지정해줘야 한다.
반응형
'알고리즘 > 완전탐색' 카테고리의 다른 글
[백준][Python] 1145번 적어도 대부분의 배수 (0) | 2022.07.15 |
---|---|
[백준][Python] 13410번 거꾸로 구구단 (0) | 2022.07.15 |
[백준][Python] 2635번 수 이어가기 (0) | 2022.07.14 |
[백준][Python] 14697번 방 배정하기 (0) | 2022.07.13 |
[백준][Python] 1436번 영화감독 숌 (0) | 2022.07.13 |
댓글