FrontEnd/프로그래머스

[JS] 롤케이크 자르기

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

'FrontEnd > 프로그래머스' 카테고리의 다른 글

연속 부분 수열 합의 개수  (0) 2023.06.06
[JS] 택배상자  (0) 2023.06.06
[JS] 우박수열 정적분  (1) 2023.06.03
[JS] 숫자 카드 나누기  (0) 2023.06.03
[JS] 귤 고르기  (0) 2023.06.02