As far as I know, you cannot just substitute listagg for wm_concat and combine it with keep(dense_rank... directly, but you can work around it as shown below.
SCOTT@orcl_12.1.0.2.0> column enames format a10
SCOTT@orcl_12.1.0.2.0> select deptno,
2 max (sal) as max_sal,
3 max (ename) as max_ename,
4 sum (sal) as sum_ename,
5 count (sal) as count_ename,
6 listagg (ename, ',') within group (order by ename) as enames
7 from (select deptno, sal, ename,
8 dense_rank () over (partition by deptno order by sal desc) as dr
9 from emp)
10 where dr = 1
11 group by deptno
12 order by deptno;
DEPTNO MAX_SAL MAX_ENAME SUM_ENAME COUNT_ENAME ENAMES
---------- ---------- ---------- ---------- ----------- ----------
10 5000 KING 5000 1 KING
20 3000 SCOTT 6000 2 FORD,SCOTT
30 2850 BLAKE 2850 1 BLAKE
3 rows selected.