А надо нечто вроде лесенки Кантора замутить.
Та же мысль приходила, но смутился не всюду определённостью возникающей функции, в лемму Цорна меня понесло ... 
А ведь и не нужна она (хотя и можно было) на последнем этапе.
В общем так. 
Для начала положим 

 для 
![$x\in [0;\frac{1}{3}]$ $x\in [0;\frac{1}{3}]$](https://dxdy-04.korotkov.co.uk/f/f/c/6/fc6d4a476e7bca5b7b95e2fa31fe253e82.png)
 и 

 для 
![$x\in [\frac{2}{3};1]$ $x\in [\frac{2}{3};1]$](https://dxdy-01.korotkov.co.uk/f/c/9/1/c9168713ed1dadd2c92f883fb97dbdd582.png)
Все рациональные из 

 расположим в последовательность 

Полагаем 

 для 
![$x\in [\frac{4}{9};\frac{5}{9}]$ $x\in [\frac{4}{9};\frac{5}{9}]$](https://dxdy-04.korotkov.co.uk/f/b/7/e/b7eab15b91dee000534a720e54703fa382.png)
 ...
Пусть уже определёны отрезки, на которых 

Берём 

, находим среди 

 ближайщего соседа слева 

 и справа 

 и соответствующие им отрезки 
![$[a_l, b_l]$ $[a_l, b_l]$](https://dxdy-01.korotkov.co.uk/f/0/1/c/01c4670728c67e8421e1c32250e9a96582.png)
 и 
![$[a_r, b_r]$ $[a_r, b_r]$](https://dxdy-01.korotkov.co.uk/f/0/a/b/0ab14c4f1c8f605f02127f8d70cc2b6c82.png)
, на которых функция уже имеет значения  

 и 

 соответственно. Полагаем 

 на средней трети отрезка 
![$[b_l, a_r]$ $[b_l, a_r]$](https://dxdy-03.korotkov.co.uk/f/6/a/3/6a33987055a6563ee2470933927b5e7382.png)
.
Ясно, что полученная функция монотонна и каждое рациональное значение достигается несчётное число раз. Осталось лишь её доопределить до всюду определённой (здесь я чегой-то и засмущался). 
Просто полагаем 

 в точке 

, где функция осталась неопределённой.