코딩테스트 문제풀이/inflearn

[인프런] Node.js / 섹션1 - 기본문제 풀이 / 9. A를 #으로

sangchu 2023. 1. 4. 16:01

단어에 포함된 ‘A'를 모두 ’#‘으로 바꾸어 출력

 

나의 풀이1

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

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

while문으로 문자열에 A가 있으면 반복문을 돌도록 했다.

replace메서드로 A를 #으로 바꾸게 했다.

 

 

String.prototype.replace() - JavaScript | MDN

replace() 메서드는 어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환합니다. 그 패턴은 문자열이나 정규식(RegExp)이 될 수 있으며, 교체 문자열은 문자열이나 모든 매치에

developer.mozilla.org

 

 

나의 풀이2

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


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

정규식을 이용해서 풀었다.

문자열에 A가 포함되면 다 #으로 바꿀 수 있도록 했다.

만약 g를 붙이지 않으면 가장 처음 발견된 A만 변경된다.

 

강사 풀이

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

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

빈 문자열을 만들고 문자열을 돌면서 만약 해당 문자가 A면 문자열에 #을 더하고, 아니면 그냥 해당 문자를 더하도록 했다.