Your sample data are discrete, so percentiles are not unique. However, we can smooth the data and create unique percentile values called smoothed empirical percentiles.
If you have $\displaystyle n$ observations, then the $\displaystyle p$th smoothed empirical percentile is found by interpolating between the two data points that are around the $\displaystyle (n\cdot p)\text{th}$ observation.
$\displaystyle \hat{\pi}_p=[(n+1)p]\text{th observation}$
If $\displaystyle (n+1)p$ is not an integer, interpolate between the order statistics before and after the $\displaystyle [(n+1)p]\text{th observation.}$
Your data have $\displaystyle n=137$ observations.
$\displaystyle \hat{\pi}_{0.60}=[(137+1)0.6]=82.8\text{th observation}$
So the 60th smoothed empirical percentile is $\displaystyle 0.2X_{(82)} + 0.8X_{(83)}$ where $\displaystyle X_{(k)}$ is the $\displaystyle k$th order statistic.
As you say, 60% of 30 is 18. In your data, 18 lies between 15 and 20, that is, between marks 4 and 5. For a more "precise" answer, you can interpolate as abender suggested: 18 is (18- 15)/(20- 15)= 3/5= 0.60 of the way between 15 and 20 so the marks are .60 of the way between 4 and 5, or 4.6.