반응형
간단 소개
이미 어느정도 작성된 정규표현식이 테스트를 통과를 못하는데, 이것을 통과하도록 수정하는 문제이다.
최초 풀이
- 테스트를 보았을 때, case sensitive 문제로 생각하고 대소문자 구분을 어떻게 하지? 생각하면서 스택오버플로우를 찾아보았다.
(?i)
키워드로 대소문자 구분 함을 알 수 있었다
Best Practice
import unittest
import re
def filter_words(phrase):
return re.sub("bad|mean|ugly|horrible|hideous", "awesome", phrase, flags=re.IGNORECASE)
class TestFilterWords(unittest.TestCase):
def test_filter_words(self):
self.assertEqual(filter_words("You're Bad! timmy!"), "You're awesome! timmy!")
self.assertEqual(filter_words("You're MEAN! timmy!"), "You're awesome! timmy!")
- 파이썬
re.sub
에flags
라는 옵션이 있었다.
느낀점
- 아직 정규표현식에 대해서 많이 서툴고 배워가는 단계이다. 매일매일 조금씩 익히도록 하자
반응형
'개발 > CodeWars 문제 회고' 카테고리의 다른 글
[python ] 6kyu Unary function chainer (0) | 2021.01.24 |
---|---|
[javascript] Generate range of integers (0) | 2021.01.04 |
Buying a Car (0) | 2021.01.02 |