package Ġle et code . kotlin . misc Ċ Ċ private Ġfun Ġfilter Rest aurants ( ĊĠĠĠ Ġrest aurants : ĠArray < IntArray >, ĊĠĠĠ Ġv eg an Friendly : ĠInt , ĊĠĠĠ Ġmax Price : ĠInt , ĊĠĠĠ Ġmax Distance : ĠInt Ċ ): ĠList < Int > Ġ{ ĊĠĠĠ Ġreturn Ġrest aurants ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit [ 2 ] Ġ>= Ġv eg an Friendly Ġ} Ġ// ĠV eg an - Friendly Ġor ĠBoth ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit [ 3 ] Ġ<= Ġmax Price Ġ} ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit [ 4 ] Ġ<= Ġmax Distance Ġ} ĊĠĠĠĠĠĠĠ Ġ. sorted With ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompare By Descending < IntArray > Ġ{ Ġit [ 1 ] Ġ} Ġ// Ġsort Ġby Ġdescending Ġrating ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then By Descending Ġ{ Ġit [ 0 ] Ġ}) Ġ// Ġif Ġrating Ġmatch , Ġthen Ġdescending Ġid ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit [ 0 ] Ġ} Ġ// Ġgather Ġonly Ġid 's Ċ } Ċ