Algorithm(CodeTree, Python)/완전탐색3
[코드트리 기준을 새로 설정하여 완전탐색] 숫자들의 최대 차 Python
by kurooru
2023. 1. 4.
# n, k 입력
n, k = map(int, input().split())
# num_list
num_list = list()
# num_list 입력
for _ in range(n):
num_list.append(int(input()))
# 함수들
# is_possible(pick_num)
def is_possible(pick_num):
# 정렬된 num_list를 돌면서
for i in range(n - pick_num + 1):
# curr_min, curr_max
curr_min, curr_max = num_list[i], num_list[i + pick_num -1]
# 한번이라도 차가 k이하면
if curr_max - curr_min <= k:
# 성공
return True
# 다 돌았는데 k 이하가 안나오면 실패
return False
# 설계
# num_list 정렬
num_list.sort()
# max_pick
max_pick = 1
# 완전 탐색 시작 -> 뽑을 숫자의 개수를 기준으로
for i in range(2, n+1):
# 현재 뽑은 갯수가 가능하면,
if is_possible(i):
# max_pick update
max_pick = i
# 출력
print(max_pick)