본문 바로가기

프로그래머스

[알고리즘] l로 만들기

I로 만들기

알파벳 소문자로 주어진 myString 이 주어진다. l 보다 앞서는 알파벳을 I로 변환하여 리턴

 

myString result
"abcdevwxyz" "lllllvwxyz"
"jjnnllkkmm" "llnnllllmm"

 

나의 풀이:

function solution(myString) {
    var before = ["a","b","c","d","e","f","g","h","i","j","k"] 
    var array = myString.split("");
    return array.map(v => before.includes(v) ? v = "l" : v).join("")
}

풀면서도 내가 배열을 직접 작성하여 조금 비효율적인것 같아서 includes 메소드 대신 부등호를 사용하여 다시 풀어보았다.

 

function solution(myString) {
    var array = myString.split("");
    return array.map(v => v < "l" ? v = "l" : v).join("")
}

알파벳에 오름차순 , 내림차순이 있는것은 알았지만 부호를 사용하여 나타낼수도 있는 것은 처음 알게 되었음

 

 

다른 풀이:

const solution = myString => myString.replace(/[a-k]/g,'l')

정규표현식을 이용한 것인데, a-k 까지는 "l"로 대체하여 리턴.