자바스크립트 알고리즘 문제풀이 A를 #으로

버건디·2023년 1월 13일
0

- 문제

대문자로 이루어진 영어단어가 입력되면 단어에 포함된 ‘A'를 모두 ’#‘으로 바꾸어 출력하는 프로그램을 작성하세요.
▣ 입력설명
첫 번째 줄에 문자열이 입력된다.
▣ 출력설명
첫 번째 줄에 바뀐 단어를 출력한다.
▣ 입력예제 1 BANANA
▣ 출력예제 1 B#N#N#

- 내 풀이

const string = "BANANA";

function solution(string) {
  const strArr = string.split("");

  for (let i = 0; i < strArr.length; i++) {
    if (strArr[i] === "A") {
      strArr[i] = "#";
    }
  }

  return strArr.join("");
}

- 답지 풀이

const string = "BANANA";

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

  return answer;
}

자바스크립트에서 replaceAll은 없기때문에 모든 문자열을 바꾸려면 정규표현식을 사용해서 변환해주어야한다.


- 다른 (헷갈릴만한) 풀이

const string = "BANANA";

function solution(string) {
  let answer = string;

  for (let x of answer) {
    // 새로운 x 라는 변수에 값을 저장해준거기 때문에 answer 값이 바뀌진 않음.
    if (x === "A") x = "#";
  }

  return answer;
}
profile
https://brgndy.me/ 로 옮기는 중입니다 :)

0개의 댓글