You haven't told us when you would like to display the custom marker but to display a custom maker you just define the image you want to display and pass is to the marker object as icon: yourMarker.
If you want to add a conditional statement to display a certain marker given a certain condition you can do that using if/else statements.
Here is a fiddle.
http://jsfiddle.net/chrislewispac/jmLq398e/1/
var locations = [
  ['Bondi Beach', -33.890542, 151.274856, 4],
  ['Coogee Beach', -33.923036, 151.259052, 5],
  ['Cronulla Beach', -34.028249, 151.157507, 3],
  ['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
  ['Maroubra Beach', -33.950198, 151.259302, 1]
];
var map = new google.maps.Map(document.getElementById('map'), {
  zoom: 10,
  center: new google.maps.LatLng(-33.92, 151.25),
  mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();
var goldStar = {
    path: 'M 125,5 155,90 245,90 175,145 200,230 125,180 50,230 75,145 5,90 95,90 z',
    fillColor: 'yellow',
    fillOpacity: 0.8,
    scale: 0.05,
    strokeColor: 'gold',
    strokeWeight: 2
};
var marker, i;
for (i = 0; i < locations.length; i++) {  
  marker = new google.maps.Marker({
    position: new google.maps.LatLng(locations[i][1], locations[i][2]),
      icon: goldStar,
    map: map
  });
  google.maps.event.addListener(marker, 'click', (function(marker, i) {
    return function() {
      infowindow.setContent(locations[i][0]);
      infowindow.open(map, marker);
    }
  })(marker, i));
}
Reference to the api:
https://developers.google.com/maps/documentation/javascript/examples/marker-symbol-custom
EDIT:
Here is an update fiddle showing how to customize the icon based on geographic location.
http://jsfiddle.net/chrislewispac/jmLq398e/2/
var goldStar = {
path: 'M 125,5 155,90 245,90 175,145 200,230 125,180 50,230 75,145 5,90 95,90 z',
fillColor: 'yellow',
fillOpacity: 0.8,
scale: 0.05,
strokeColor: 'gold',
strokeWeight: 2
};
var blueStar = {
path: 'M 125,5 155,90 245,90 175,145 200,230 125,180 50,230 75,145 5,90 95,90 z',
fillColor: 'yellow',
fillOpacity: 0.8,
scale: 0.05,
strokeColor: 'blue',
strokeWeight: 2
};
var marker, i;
for (i = 0; i < locations.length; i++) {
    if (locations[i][1] > -33.9){
      var icon = blueStar
    } 
    else { 
       var icon = goldStar
    }
marker = new google.maps.Marker({
    position: new google.maps.LatLng(locations[i][1], locations[i][2]),
    icon: icon,
    map: map
});
google.maps.event.addListener(marker, 'click', (function (marker, i) {
    return function () {
        infowindow.setContent(locations[i][0]);
        infowindow.open(map, marker);
    }
})(marker, i));
}
Edit # 2
I converted your array of arrays to an array of objects and added a user property. I then adjusted your code to use the object instead of the array index.
var locations = [
{
   name: 'Bondi Beach',
   lat: -33.890542,
   lon: 151.274856,
   user: 1
}, /*[......]*/
{
   name: 'Maroubra Beach',
   lat: -33.950198,
   lon: 151.259302,
   user: 3
}
];
if (locations[i].user === 1){
   var icon = blueStar
} else if (locations[i].user === 2) { 
   var icon = goldStar
}
else if (locations[i].user === 3) { 
   var icon = redStar
}
marker = new google.maps.Marker({
    position: new google.maps.LatLng(locations[i].lat, locations[i].lon),
    icon: icon,
    map: map
});
http://jsfiddle.net/chrislewispac/jmLq398e/3/