개발로그필름

[프로그래머스] 특정 문자 제거하기 javascript (split, join, replaceAll) 본문

coding test/프로그래머스

[프로그래머스] 특정 문자 제거하기 javascript (split, join, replaceAll)

yuullog 2023. 2. 22. 12:00
728x90
반응형
SMALL

오늘도 코딩테스트 하나 풀면서 하루 시작쓰!

https://school.programmers.co.kr/learn/courses/30/lessons/120826

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명

문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return 하도록 solution 함수를 완성해 주세요

 

제한사항

  • 1 ≤ my_string의 길이 ≤ 100
  • letter은 길이가 1인 영문자입니다.
  • my_string과 letter은 알파벳 대소문자로 이루어져 있습니다.
  • 대문자와 소문자를 구분합니다.

 

입출력 예

 

입출력 예 설명

 

solution.js

function solution(my_string, letter) {
    
    // my_string의 알파벤 하나씩 반복문을 돌면서
    // 만약 letter과 같은 알파벳이 있을 경우 continue
    // letter과 다른 알파벳이 있을 경우 answer 배열에 저장
    // 배열 형태인 answer을 문자열로 변경 후 리턴 
    
    var answer = [];
    
    for (i=0; i<my_string.length; i++) {        
        if (my_string[i] == letter) {
            continue
        } else {
            answer.push(my_string[i])
        }            
    }
    return answer.join("")
}

 

 

 

다른 사람 풀이 1

function solution(my_string, letter) {
    const answer = my_string.split(letter).join('')
    return answer;
}

와웅,, split() 문법을 사용해서 제거할 letter을 기준으로 문자열 나눈 뒤에 바로 join()으로 문자열을 만들다니,,

미쳤다리..

 

split()

 지정한 구분자를 이용해 여러 문자열로 나눈다

리턴되는 값은 배열이다

const str = 'Hello This is My Develp Blog. Thank you.';

const words = str.split(' '); // 띄어쓰기를 기준으로 나누기
console.log(words[3]);   // My

const chars = str.split(''); // 알파벳 하나 기준으로 나누기
console.log(chars[8]);   // i

 

join()

각 배열의 요소를 연결해 문자열로 만들어줌

 

 

다른 사람 풀이 2

function solution(my_string, letter) {
    return my_string.replaceAll(letter, "");
}

replaceAll() 함수를 사용해 letter을 ""로 바꿔서 바로 return

 

replaceAll()

replaceAll(pattern, replacement)

pattern을 replacement로 바꾸기

 

반응형
LIST
Comments