문제
- 대문자로 이루어진 영어단어가 입력되면 단어에 포함된 'A'를 모두 '#'으로 바꾸어 출력하는 프로그램을 작성하세요.
풀이
function solution(str) {
const allA = /A/gi;
const answer = str.replace(allA, '#');
return answer;
}
let str = 'BANANA'
console.log(solution(str));
느낀 점 & 고민
- 첫 번째로 생각한 방법은 배열처럼 생각하기 입니다.
- Str의 번호를 따라서 for문을 돌려서 하나씩 일치하는 지 확인하고 맞으면 해당 문자열을 바꾸자라고 생각했습니다.
- 그런데 검색을 하다보니 정규 표현식이라는 것과 replace가 보였습니다.
- replace를 사용해서 어떤 문자를 전체 부분에서 바꾸는 방법으로 정규 표현식 gi를 사용했습니다.
- gi는 전역 검색, 대소문자 구분 안함을 나타낸다고 합니다. (블로그 글 링크)
- 덕분에 조금 더 편하고 짧은 코드로 끝낼 수 있었습니다.
Comments