ν™˜ν…Œν¬ 2023. 1. 30. 20:22
λ°˜μ‘ν˜•

 

 

 

πŸ“λ¬Έμ œ 9( ABCheck  )

 

λ¬Έμžμ—΄μ„ μž…λ ₯λ°›μ•„ λ¬Έμžμ—΄ 내에 μ•„λž˜ 쀑 ν•˜λ‚˜κ°€ μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€λ₯Ό 리턴해야 ν•©λ‹ˆλ‹€.

 

  1. 'a'둜 μ‹œμž‘ν•΄μ„œ 'b'둜 λλ‚˜λŠ” 길이 5의 λ¬Έμžμ—΄
  2. 'b'둜 μ‹œμž‘ν•΄μ„œ 'a'둜 λλ‚˜λŠ” 길이 5의 λ¬Έμžμ—΄

 

 

πŸ“₯μž…λ ₯

 

인자1 : arr

  • string νƒ€μž…μ˜ λ¬Έμžμ—΄

 

πŸ“€ 좜λ ₯

 

  • boolean νƒ€μž…μ˜ λ¬Έμžμ—΄

 

β—οΈμ£Όμ˜μ‚¬ν•­

 

  • λŒ€μ†Œλ¬Έμžλ₯Ό κ΅¬λΆ„ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
  • 곡백도 ν•œ κΈ€μžλ‘œ μ·¨κΈ‰ν•©λ‹ˆλ‹€.
  • 'a'와 'b'λŠ” μ€‘λ³΅ν•΄μ„œ λ“±μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

λ‚˜μ˜ 생각

 

λ¬Έμžμ—΄μ„ μž…λ ₯λ°›μ•„ -> str

ν•˜λ‚˜κ°€ μ‘΄μž¬ν•˜λŠ”μ§€ μ—¬λΆ€ -> 포문으둜 λŒλ €μ„œ 쑰건을 κ±Έμ–΄μ•Όκ² κ΅°

μ‘΄μž¬μ—¬λΆ€ -> 맞으면 true 틀리면 false

a'둜 μ‹œμž‘ν•΄μ„œ 'b'둜 λλ‚˜λŠ” 길이 5의 λ¬Έμžμ—΄ -> i === 'a' && str[i+4] === 'b'

a'둜 μ‹œμž‘ν•΄μ„œ 'b'둜 λλ‚˜λŠ” 길이 5의 λ¬Έμžμ—΄ -> i === 'b' && str[i+4] === 'a' ---> true

 

 

래퍼런슀(= λ‚˜μ˜ μ½”λ“œ)

 

function ABCheck(str) {
  if(str === ''){
    return false;
  }

  str = str.toLowerCase();

  for(let i = 0; i < str.length; i++){
    if((str[i] === 'a' && str[i + 4] === 'b') || 
       (str[i] === 'b' && str[i + 4] === 'a')){
       return true;
    }
  }
  return false;//forλ¬Έ λ°”κΉ₯에 있음.
  //반면, for문을 λ‹€ λŒλ©΄μ„œ 검사λ₯Ό ν•œ 후에 if문의 쑰건에 ν•΄λ‹Ήν•˜λŠ” κ²½μš°κ°€ μ—†λ‹€λ©΄, 
  //μ΅œμ’…μ μœΌλ‘œ falseλ₯Ό λ¦¬ν„΄ν•œλ‹€.
}
λ°˜μ‘ν˜•