πŸ’» FE/πŸ“ ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€

λ¬Έμžμ—΄ λ‚˜λˆ„κΈ° / ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ μ½”λ”©ν…ŒμŠ€νŠΈ μžλ°”μŠ€ν¬λ¦½νŠΈ μ½”λ“œ

Roy Miller 2022. 12. 22. 21:59

πŸ”—

 

μ²˜μŒμ— 문제λ₯Ό 이해λ₯Ό λͺ»ν•΄μ„œ γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹ ,,, 

 

 

μŠ¬νŽλ‹€ . 

 

 

 

"banana" λΌλŠ” λ¬Έμžμ—΄μ΄ 있으면 첫번째 λ¬Έμžμ—΄ "b"λž‘ μΌμΉ˜ν•˜λŠ” λ¬Έμžμ—΄μ˜ 수, μΌμΉ˜ν•˜μ§€ μ•ŠλŠ” λ¬Έμžμ—΄μ˜ 수λ₯Ό 각각 μ„Έκ³  두 μˆ˜κ°€ κ°™μ•„μ§€λ©΄ λ¬Έμžμ—΄μ„ λ‚˜λˆ μ„œ 버리고(μ•”νŠΌ 버림) λ‹€μŒ λ¬Έμžμ—΄μ„ λ‹€μ‹œ κΈ°μ€€μœΌλ‘œ ν•˜μ—¬ 같은 μž‘μ—…μ„ λ°˜λ³΅ν•˜μ—¬ μ΅œμ’…μ μœΌλ‘œλŠ” λ‚˜λˆ μ§„ 덩어리 수λ₯Ό λ°˜ν™˜ν•˜λŠ” 문제인데 >λ‚˜λˆ„μ„Έμš”< λΌλŠ” 말에 λ„€~ ν•΄μ„œ split 찾아보고 있던 λ‚˜λŠ” 정말 ,,,, 결둠적으둜 bananaλŠ” ba/na/na둜 3덩어리가 λœλ‹€. 

 

ν’€λ©΄μ„œ λ¬Έμ œλŠ” "bana"의 κ²½μš°μ™€ "bann"의 κ²½μš°μΌλ•Œ μ˜€λ‹€. μ „μžλŠ” 쉽닀. μΌμΉ˜ν•˜λ©΄ 덩어리 수λ₯Ό 높이고 λμ΄λ‹ˆκΉŒ! 근데 ν›„μžλŠ” 그게 μ•ˆ λœλ‹€. ba둜 λ‚˜λˆˆλ’€ n이 2개인 μƒνƒœμ—μ„œ λλ‚˜λ²„λ¦°λ‹€. (λ‹€λ₯Έ 방법이 μžˆμ„μˆ˜λ„ μžˆμ§€λ§Œ μ €λŠ” λ‹€λ₯Έλ°©λ²•κΉŒμ§€ 생각할 λ†ˆμ΄ λͺ»λ¨) κ·Έλž˜μ„œ 루프λ₯Ό λ„λŠ” 인덱슀의 값이 lengthκ°’(λ§ˆμ§€λ§‰ 인덱슀+1의 값이닀.)μ—μ„œ -1ν•œ κ°’μΌλ•Œ, 즉 λ§ˆμ§€λ§‰ μΈλ±μŠ€μ— λ‹¬ν–ˆμ„ λ•Œ μΌμΉ˜ν•˜λŠ” λ¬Έμžμ—΄μ˜ μˆ˜μ™€ μΌμΉ˜ν•˜μ§€ λ¬Έμžμ—΄μ˜ μˆ˜κ°€ κ°™μ§€ μ•Šμ„ 경우 덩어리 수λ₯Ό "무적ꢌ" ν•˜λ‚˜ λŠ˜λ €μ€€ λ’€ λλ§ˆμΉ˜λ„λ‘ 해쀬닀. 

 

μ²˜μŒμ— for in 으둜 ν–ˆλŠ”λ° μ–΄λ””μ„ κ°€ 였λ₯˜κ°€ λ‚˜μ„œ κΈ°λ³Έν˜•μ‹μœΌλ‘œ λŒλ Έλ‹€

λ‹€μ‹œ for in으둜 ν•΄λ³΄λ§ˆ. 

 

 

* λ³€μˆ˜λͺ… μ„€μ •μ‹œ μΈλ±μŠ€λŠ” index둜, 인덱슀의 값은 value둜 κΌ­ 섀정해야겠더라 ,, 쀑간에 λ³€μˆ˜ ν—·κ°ˆλ €μ„œ 헛고생함 

 

function solution(s) {
  var inCount = 0;
  var notCount = 0;
  var divCount = 0;
  var startIndexValue = s[0];

  for (var i = 0; i < s.length; i++) {
    if (startIndexValue == s[i]) {
      inCount++;
    } else {
      notCount++;
    }

    if (inCount === notCount) {
      divCount++;
      inCount = 0;
      notCount = 0;
      startIndexValue = s[i + 1];
    }

    if (i === s.length - 1) {
      if (inCount !== notCount) {
        divCount++;
        return divCount;
      }
    }
  }
  return divCount;
}

console.log(solution("banana"));

 

 

ν’€κ³ λ‚˜λ‹ˆ λ§€μš°λ¬΄μ²™μ΄λ‚˜ λ‹¨μˆœν•œ 문젠데

κ·Έκ±° ν•˜λ‚˜ 빨리 생각λͺ»ν–ˆλ‹€λŠ” 점이

λ‚˜λ₯Ό 미치게 ν—€ . 

 

 

πŸ’₯ μ½”λ“œ κ΄€λ ¨ν•œ ν”Όλ“œλ°± μ£ΌλŠ”λŒ€λ‘œ λ‹€ λ°›μ•„λ¨ΉμŠ΅λ‹ˆλ‹€. ν•΄μ£Όμ‹œλ©΄ κ°‘μƒ‡λ°”λ‹ˆλ‹€.