File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed
Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change 1+ // https://school.programmers.co.kr/learn/courses/30/lessons/42586
2+
3+ const solution = ( progresses , speeds ) => {
4+ let result = [ ] ;
5+ const expectedTerm = progresses . map ( ( progress , i ) => {
6+ return Math . ceil ( ( 100 - progress ) / speeds [ i ] ) ;
7+ } ) ;
8+ let ready = expectedTerm [ 0 ] ;
9+ let featCnt = 1 ;
10+ for ( let i = 1 ; i < expectedTerm . length ; i ++ ) {
11+ if ( ready >= expectedTerm [ i ] ) {
12+ featCnt ++ ;
13+ } else {
14+ result = [ ...result , featCnt ] ;
15+ featCnt = 1 ;
16+ ready = expectedTerm [ i ] ;
17+ }
18+ }
19+ result = [ ...result , featCnt ] ;
20+ return result ;
21+ } ;
22+
23+ // 큐를 활용한 버전
24+ function solution ( progresses , speeds ) {
25+ const result = [ ] ;
26+ const queue = progresses . map ( ( progress , i ) => {
27+ return Math . ceil ( ( 100 - progress ) / speeds [ i ] ) ;
28+ } ) ;
29+
30+ while ( queue . length > 0 ) {
31+ const day = queue [ 0 ] ;
32+ let featCnt = 0 ;
33+
34+ while ( queue . length > 0 && queue [ 0 ] <= day ) {
35+ queue . shift ( ) ;
36+ featCnt ++ ;
37+ }
38+ result . push ( featCnt ) ;
39+ }
40+
41+ return result ;
42+ }
You can’t perform that action at this time.
0 commit comments