A scene of Jimmy diversity

Python 3.8 (pre-release), 51 bytes

lambda s:((c:=s.count)('o')-c('/'),c('/o'),c('/-'))

Try it online!

Python 2, 50 bytes

print x-y,y-z/2,z/2

Try it online!

-10 bytes by converting lambda expression to a full program thanks to @xnor (removes the double-lambda nested thing and uses assignment instead)

Jelly, (12?) 13 bytes


A monadic Link accepting a list of characters which yields a list of integers, [ dwarves, acrobats, and body-builders] (save the byte if we may specify our output)

Try it online!


All Jimmys show a o; all non-dwarves show a /; all body-builders show two -. Count these up, halve the count of -, and perform subtraction to find the Jimmy counts:

ċⱮ“-/o”H1¦ŻIṚ - Link: list of characters
  “-/o”       - list of characters ['-', '/', 'o']
 Ɱ            - map across right with:
ċ             -   count occurrences   = [n('-'), n('/'), n('o')]
         ¦    - sparse application...
        1     - ...to indices: [1] -- i.e. n('-')
       H      - ...action: halve    = [n('-')/2, n('/'), n('o')]
          Ż   - prepend a zero =   [0, n('-')/2, n('/'), n('o')]
           I  - incremental differences
              -     = [n('-')/2, n('/')-n('-')/2, n('o')-n('/')]
            Ṛ - reverse
              -     = [n('o')-n('/'), n('/')-n('-')/2, n('-')/2]