How to count the number of nodes with a certain taxonomy term, based on a list of nids?
Mmm i dont think drupal 7 views is up to this perhaps this work around may help 
create a custom module and put 


/**
 * Implements hook_block_info().
 */
function mymodule_block_info() {
  $blocks = [];
  $blocks['my_block'] = [
    'info' => t('My Medals'),
  ];
  return $blocks;
}

/**
 * Implements hook_block_view().
 */
function mymodule_block_view($delta = '') {
  $block = array();
  switch($delta) {
    case 'my_block' :
      $block['content'] = my_block_view();
      break;
  }
  return $block;
}

function my_block_view() {
  global $user;
  $uid = $user->uid;

  $result = db_query('SELECT * FROM {node} WHERE uid = :uid AND type = :type', [
   ':uid' => $uid,
   ':type' => 'post'
  ]);
  $node_ids = [];
  foreach ($result as $row) {
    $node_ids[] = $row->nid;
  }
  $output = '';
  $gold = [];
  $silver = [];
  $bron = [];
  if (count($node_ids) != 0) {
    foreach ($node_ids as $nid) {
      $node = node_load($nid);
      $tid = $node->field_term['und'][0]['tid'];
      switch($tid) {
        case 1;
          $gold[] = $nid;
        break;
        case 2;
          $silver[] = $nid;
        break;
        case 3;
          $bron[] = $nid;
        break;
        default;
        break;
      }
    }
  }
// bad practice but quick win. 
  $output = 'GOLD ' . count($gold) . ' Silver ' . count($silver) . ' Bronze ' . count($bron);
  $block = [
    '#type' => 'markup',
    '#markup' => $output,
  ];
  return $block;
}


The above will create a custom block then you have to place the block on the user and change the   "global $user; $uid"  to fit your need.