[LeetCode] 917. Reverse Only Letters

HyeLin·2023년 5월 17일
0
post-thumbnail

문자열이 지정되면 다음 규칙에 따라 문자열을 반대로 적용하기

  • 영문자가 아닌 모든 문자는 동일한 위치에 유지
  • 모든 영문자(소문자 또는 대문자)는 반대로
    ex) "Test1ng-Leet=code-Q!"
    => "Qedo1ct-eeLg=ntse-T!"

✨ 풀이

var reverseOnlyLetters = function(s) {
  let letters=s.replaceAll(/[a-z]/gi,"∞")
  
  s=s.replace(/[^a-z]/gi,"").split("").reverse().join("")
  
  for(let i in s){
    letters=letters.replace("∞",s[i])
  }
  
return letters
};

✨ 해석

  let letters=s.replaceAll(/[a-z]/gi,"∞")
  • 글자의 모든 글자(특수문자,숫자 제외)를 특수문자로 바꿔주었다. 이부분에서 *,@ 등등으로 했다가 예시에 자꾸 걸려서 무한대 특수문자로 바꿈..^^
 s=s.replace(/[^a-z]/gi,"").split("").reverse().join("")
  • 오로지 문자로 되어있는 애들만 뒤집어줬다.
  
  for(let i in s){
    letters=letters.replace("∞",s[i])
  }
  
return letters
  • '∞∞∞∞1∞∞-∞∞∞∞=∞∞∞∞-∞!' 이렇게 되어있던 애들을 'QedocteeLgntseT' 이 문자로 하나하나씩 채워나가면 끝!
profile
개발자

0개의 댓글