티스토리 뷰

알고리즘/코딩테스트 공부

1-9 A를 #으로

YG - 96년생 , 강아지 있음, 개발자 희망 2021. 11. 24. 07:00

문제

대문자로 이루어진 영어단어가 입력되면 단어에 포함된 ‘A'를 모두 ’#‘으로 바꾸어 출력하는
프로그램을 작성하세요.

 

풀이

function solution(s) {
  let answer = "";
  for (let x of s) {
    if (x === "A") answer += "#";
    else answer += x;
  }
  return answer;
}

let str = "BANANA";
console.log(solution(str));

let x of s 를 이용하여 x === "A" 일때 #으로 변환하여 answer에 문자열을 더해주었고 A가 아니라면 문자열에 그냥 더해주었습니다.

 

다른 풀이

function solution(s) {
  let answer = s;
  answer = answer.replace(/A/g, "#");
  return answer;
}

let str = "BANANA";
console.log(solution(str));

answer = s 로 문자열은 얕은 복사가 안된다는 사실을 알게 되었습니다. 

 

answer = answer.replace를 이용해주었습니다. 그리고 정규 표현식을 이용하여 /A/g 로 모든 A를 찾아 #으로 변환하였습니다.

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Regular_Expressions

 

정규 표현식 - JavaScript | MDN

정규 표현식은 문자열에 나타는 특정 문자 조합과 대응시키기 위해 사용되는 패턴입니다. 자바스크립트에서, 정규 표현식 또한 객체입니다.  이 패턴들은 RegExp의 exec 메소드와 test 메소드  ,

developer.mozilla.org

 

 

'알고리즘 > 코딩테스트 공부' 카테고리의 다른 글

1-11 대문자 찾기  (0) 2021.11.24
1-10 문자 찾기  (0) 2021.11.24
1-8 일곱 난쟁이  (0) 2021.11.24
1-7 10부제  (0) 2021.11.24
1-6 홀수  (0) 2021.11.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함