```python
def wave_count(readings: list) -> int:
    count = 0
    for i in range(1, len(readings)):
        if readings[i] > readings[i-1]:
            if (i < len(readings)-1 and readings[i+1] < readings[i]) or i == len(readings)-2:
                count += 1
        elif readings[i] < readings[i-1]:
            if (i > 0 and readings[i-2] > readings[i]) or i == 0:
                count += 1
    return count
```