💡문제접근
- 이 문제는 고려해야할 사항이 진짜 많았다.
- 집합에 들어있는 원소가 정렬이 수행된 상태가 아니라는 점, 그리고 집합에 들어있는 원소를 오름차순 정렬했을때 맨 처음 원소의 값이 입력값 n보다 큰 수인 경우 등의 조건들을 전부 고려해야한다. 코너 케이스 및 이와 같은 조건들을 꼼꼼히 체크하지않아서 WA를 여러차례 받고 질문게시판에 있는 내용들을 참고해서 코드를 작성할 수 있었다.
💡코드(메모리 : 31256KB, 시간 : 88ms)
import sys
input = sys.stdin.readline
L = int(input())
elements = list(map(int, input().strip().split()))
n = int(input())
elements.sort()
cnt = 0
start = 0
end = 0
for i in range(len(elements)):
if elements[i] > n:
start = elements[i-1]
end = elements[i]
break
if n < elements[0]:
for a in range(1, n+1):
for b in range(a+1, elements[0]):
if a <= n <= b:
cnt += 1
else:
for a in range(start+1, n+1):
for b in range(a+1, end):
if a <= n <= b:
cnt += 1
print(cnt)
💡소요시간 : 1h