#JavaScript (ES6), 92 74 bytes
Takes input as (['gold','silver','bronze'])('rep')
. Returns a Boolean value.
b=>r=>[...b.map((n,i)=>n.repeat(+n&&3-i)).join``].sort()+''==[...r].sort()
#JavaScript (ES6), 74 bytes
Takes input as (gold, silver, bronze, 'rep')
. Returns a Boolean value.
(g,s,b,r)=>(F=s=>[...s].sort()+0)(r)==F([g,g,g,s,s,b].filter(x=>x).join``)