## 1. Problem

693. Binary Number with Alternating Bits

Given a positive integer, check whether it has alternating bits: namely, if two adjacent bits will always have different values.

Example 1:

```
Input: n = 5
Output: true
Explanation: The binary representation of 5 is: 101
```

Example 2:

```
Input: n = 7
Output: false
Explanation: The binary representation of 7 is: 111.
```

Example 3:

```
Input: n = 11
Output: false
Explanation: The binary representation of 11 is: 1011.
```

Constraints:

- 1 <= n <= 2^31 - 1

## 2. Solution

I solved this problem like this.

```
class Solution:
def hasAlternatingBits(self, n: int) -> bool:
value = bin(n)[2:]
return value == ''.join([str((i+1) % 2) for i in range(len(value))])
```