2018 KAKAO BLIND RECRUITMENT - [1차] 셔틀버스
1582 단어 알고리즘JavaScriptJavaScript
08.10에 푼 문제입니다🌷
[1차] 셔틀버스
풀이법
- 버스 시간표를 분단위로 bustime에 push한다.
- 크루들도 분단위로 바꾸고 정렬한다.
- 콘은 마지막 버스를 탈 것이므로, 앞에 있는 버스들에 탈 크루들을 배열에서 뺀다.
- 마지막 버스에 탈 수 있는 수만큼 크루들을 남긴다.
- 콘을 더한 모든 크루들이 마지막 버스를 탈 수 있으면 콘은 마지막 버스 출발시간에 와도 된다.
- 콘을 타면 정원 초과가 되는 버스는 마지막에 타는 크루보다 1분 먼저오면 탈 수 있다.
- 마지막 버스시간보다 늦은 크루는 탈 수 없으므로 콘은 마지막 버스 시간에 오면 된다.
코드
function solution(n, t, m, timetable) {
var answer = '';
const bustime=[]
let crews = []
let time = 9*60
// 1.
for(let i=0;i<n;i++){
bustime.push(time)
time+=t
}
// 2.
timetable.map(t=>{
t=t.split(':')
t=parseInt(t[0])*60+parseInt(t[1])
crews.push(t)
})
// 3.
crews.sort((a,b)=>a-b)
for(let i=0;i<bustime.length-1;i++){
let people = 0
while(crews[0]<=bustime[i]&&people<m){
people++
crews.shift()
}
}
let lastbus = bustime.pop()
// 4.
crews=crews.slice(0,m)
// 5.
if(crews.length<m){
answer=lastbus
}
else{
let lastcrew = crews.pop()
// 6.
if(lastcrew<=lastbus){
answer = lastcrew-1
}
else{
// 7.
answer= lastbus
}
}
return String(Math.floor(answer/60)).padStart(2,'0')+':'+String(answer%60,2).padStart(2,'0')
}
Author And Source
이 문제에 관하여(2018 KAKAO BLIND RECRUITMENT - [1차] 셔틀버스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@mlsh1112/2018-KAKAO-BLIND-RECRUITMENT-1차-셔틀버스
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
function solution(n, t, m, timetable) {
var answer = '';
const bustime=[]
let crews = []
let time = 9*60
// 1.
for(let i=0;i<n;i++){
bustime.push(time)
time+=t
}
// 2.
timetable.map(t=>{
t=t.split(':')
t=parseInt(t[0])*60+parseInt(t[1])
crews.push(t)
})
// 3.
crews.sort((a,b)=>a-b)
for(let i=0;i<bustime.length-1;i++){
let people = 0
while(crews[0]<=bustime[i]&&people<m){
people++
crews.shift()
}
}
let lastbus = bustime.pop()
// 4.
crews=crews.slice(0,m)
// 5.
if(crews.length<m){
answer=lastbus
}
else{
let lastcrew = crews.pop()
// 6.
if(lastcrew<=lastbus){
answer = lastcrew-1
}
else{
// 7.
answer= lastbus
}
}
return String(Math.floor(answer/60)).padStart(2,'0')+':'+String(answer%60,2).padStart(2,'0')
}
Author And Source
이 문제에 관하여(2018 KAKAO BLIND RECRUITMENT - [1차] 셔틀버스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@mlsh1112/2018-KAKAO-BLIND-RECRUITMENT-1차-셔틀버스저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)