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