🤯 코딩테스트/Javscript

[자바스크립트 알고리즘 문제풀이(코딩테스트 대비)] Section 01 - A를 #으로

kangkibong 2022. 1. 8. 16:04

※ 문제

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

 

▣ 입력설명

첫 번째 줄에 문자열이 입력된다.

 

▣ 출력설명

첫 번째 줄에 바뀐 단어를 출력한다.

 

▣ 입력예제 1

BANANA

 

▣ 출력예제 1

B#N#N#

 

※ 코드

<html>

<head>
  <meta charset="UTF-8">
  <title>출력결과</title>
</head>

<body>
  <script>
    function solution(s) {
      let answer = s;
      answer = answer.replace(/A/gi, "#");

      return answer;
    }

    let str = "BANANA";
    console.log(solution(str));
  </script>
</body>

</html>

<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            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));
        </script>
    </body>
</html>

 

※ 설명

  • 첫번째 방법 answer을 빈 문자열으로 초기화한 후 입력 문자열을 for문으로 하나씩 비교해서 A에 해당하면 answer에 #을 추가하고 그렇지 않은 경우 입력 문자열 그대로 answer에 추가한다.
  • 두번째 방법 입력 문자열을 replace() 내장함수를 사용하여 A에 해당하는 전체 ⇒ /A/gi 를 “#”으로 바꾸도록 작성한 후 answer에 할당한다.

 

※ 핵심

replace() 내장함수를 이용하여 특정 문자열을 변경할 수 있다.

 


해당 내용은 김태원님의 자바스크립트 알고리즘 문제풀이 강의를 듣고 작성한 글입니다.