본문 바로가기
기초다지기/JS 코딩테스트

[LV0] 특정 문자 a로 만들기

by 김빵그 2023. 6. 3.

 

문제

  • 문자열 myString의 각 문자를 순회하면서 알파벳 "l"보다 앞에 위치한 문자는 "l"로 변환, 그렇지 않으면 원래 문자를 유지하라

내가 푼 답 indexOf

function solution(myString) {
    var answer = '';
    var alphabet='abcdefghijklmnopqrstuvwxyz';
    var lIndex = alphabet.indexOf("l")
    return [...myString].map((item)=> apphabet.indexOf(item) < lIndex ? "l" : item ).join("");
}
  • lIndex : indexOf를 사용하여 "l"알파벳이 몇번째 위치한지 알수있다
  • map()을 활용하여 각 문자와 lIndex를 비교 하는 함수를 만들 수 있다

 


그 외의 답

1. replace 

const solution = myString => myString.replace(/[a-k]/g,'l')
  • replace() : 어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환한다
  • 알파벳 a-k까지 모든 문자를 l로 대체

2. for

function solution(myString) {
    var answer = '';
    for(let i = 0; i < myString.length; i++) {
        if(myString[i] < "l") {
            myString = myString.replace(myString[i], "l");
        }
    }
    answer = myString
    return answer;
}

3. map

function solution(myString) {
    return [...myString].map((v) => v < 'l' ? 'l' : v).join('');
}

 


 

이번에 이른 휴가를 다녀오고 오랜만에 공부를 다시 시작하려니 뭔가 머리가 굳은 느낌이 든다.. !

다시 열심히 찾아보고 배워야지 아좌좌!!