Информатика, вопрос задал Blackgirl25 , 1 год назад

ПОМОГИТЕ ПОЖАЛУЙСТА ОООЧЕНЬ НАДО!!!!!!!

Дан массив, состоящий из целых чисел. Напишите программу, которая определяет, есть ли в массиве пара соседних элементов с одинаковыми знаками.

Входные данные

Сначала задано число N — количество элементов в массиве (1<=N<=10000). Далее через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел.

Выходные данные

Необходимо вывести слово YES, если существует пара соседних элементов с одинаковыми знаками. В противном случае следует вывести слово NO.

Примеры

Входные данные

5

1 -3 4 -2 1

Выходные данные

NO

П.С. ПИТОН!!!!

Ответы на вопрос

Ответил KnowsUser1
1

Ответ:

def process(array):

result = []

for i in range(1, len(array)-1):

 if  (array[i] < 0 and array[i-1] < 0) or \

  (array[i] < 0 and array[i+1] < 0) or \

  (array[i] > 0 and array[i-1] > 0) or \

  (array[i] > 0 and array[i+1] > 0):

  return 'YES'

return 'NO'

 

def main():

N = int(input())

assert N>=1 and N<= 10000

input_array = [int(i) for i in input().split()]  

assert len(input_array) == N  

print(process(input_array))

if __name__ == '__main__':

main()

Объяснение:

Протестировано на стандартном вводе/выводе + один доп тест

Доп тест:

Ввод:

5

1 2 -2 3 -4

Вывод:

YES

P.S Сайт ломает Python-код. Ниже приложен скриншот исходного кода

Приложения:
Новые вопросы