Solution with string_to_array, regex and array_agg
or shortway
```postgresql []
-- Write your PostgreSQL query statement below
SELECT content_id 
,content_text as original_text
,array_to_string(converted_text, ' ') as converted_text
FROM
(
    SELECT content_id
    ,array_agg(word) as converted_text 
    FROM
    (
        SELECT content_id
        ,case when word !~* '\w\-\w' then concat(
                                                upper(substring(word ,1,1)),
                                                lower(substring(word ,2,length(word))))
              else concat(
                        concat(
                                upper(substring(split_part(word, '-',1), 1, 1)),
                                lower(substring(split_part(word, '-',1), 2, length(split_part(word, '-',1)))))
                        ,'-'
                        ,concat(
                                upper(substring(split_part(word, '-',2) ,1,1)),
                                lower(substring(split_part(word, '-',2) ,2,length(split_part(word, '-',2)))))  
              ) end as word
        FROM
        (
            SELECT content_id
            ,unnest(string_to_array(content_text, ' ')) as word
            FROM user_content
        ) a
    ) aa
    GROUP BY 1
    ORDER BY 1
) aaa
JOIN user_content USING(content_id)
;

```

or shortway

```postgresql []
-- Write your PostgreSQL query statement below
SELECT content_id
,content_text as original_text
,initcap(content_text) as converted_text
FROM user_content
;
```
['PostgreSQL']