[LeetCode] 2124. Check if All A's Appears Before All B's

HyeLin·2023년 4월 26일
0
post-thumbnail

모든 'a'가 'b' 보다는 앞에 있어야함! ex) aaabbb -> true, abab -> false, bbb -> true

✨ 풀이

var checkString = function(s) {
  if(!s.includes('a') || !s.includes('b')) return true

  let aArr=[]
  for(let i in s){
    if(s[i] === 'a'){
      aArr.push(+i)
    }
  }
  return aArr[aArr.length-1] < s.indexOf('b') ? true :false
};

✨ 해석

  if(!s.includes('a') || !s.includes('b')) return true
  • a나 b가 없으면 무조건 true. a만 있을 경우는 없는 b보다는 무조건 앞이니까! b만 있을 경우는 없는 a는 무조건 앞이니까!
  let aArr=[]

  for(let i in s){
    if(s[i] === 'a'){
      aArr.push(+i)
    }
  }
  • 빈 배열에 a의 모든 index 값을 넣어준다. 제일 마지막에 나오는 a의 인덱스를 구하기 위함
  return aArr[aArr.length-1] < s.indexOf('b') ? true :false
  • a 인덱스의 마지막 값보다 b의 첫번째 인덱스값이 크면 true, 아니면 false
profile
개발자

0개의 댓글