문제

풀이
재영
const solution = routes => { if (routes.length === 1) return 1; let cameraCount = 0; let last = -Infinity; routes.sort((a, b) => a[1] - b[1]).forEach(([from, to]) => { if (last < from) { cameraCount++; last = to; } }) return cameraCount }
현석
function solution(routes) { let lastCameraPosition = -30001 let count = 0 const outPreferSortedRoutes = [...routes].sort(([enter1, out1], [enter2, out2]) => out1 - out2 || enter1 - enter2) outPreferSortedRoutes.forEach(([enter, out]) => { if (enter <= lastCameraPosition && lastCameraPosition <= out) return count++ lastCameraPosition = out }) return count }
효성
function solution(routes) { let answer = 1; routes.sort((a, b) => a[0] - b[0]); let out = routes[0][1]; for(let i = 1; i < routes.length; i++) { if(out < routes[i][0]) { answer += 1; out = routes[i][1]; } if(out > routes[i][1]) { out = routes[i][1]; } } return answer; }