FrontEnd/프로그래머스

[JS] 롤케이크 자르기

정_민_규 2023. 6. 5. 13:05
728x90

Map자료형을 활용해서 왼쪽과 오른쪽의 케이크 상태를 저장하고 , size들을 비교해서 같은 경우의 개수를 세 주는 방식으로 문제를 해결하였다.

 

 

 

function solution(topping) {
   const right = new Map()
   const left = new Map()
   
   for (const t of topping) {
       if (right.get(t)) right.set(t , right.get(t)+1)
       else right.set(t,1)
   }

    let ret = 0
   for (const t of topping) {
       if (right.get(t)>1) right.set(t, right.get(t)-1)
       else right.delete(t)
       
       if (left.get(t)) left.set(t , left.get(t)+1)
       else left.set(t,1)
       
       if (left.size === right.size) ret++
   }
    
    return ret
}

 

728x90