알파벳 소문자로 이루어진 문자열 myString
이 주어집니다. 알파벳 순서에서 "l"보다 앞서는 모든 문자를 "l"로 바꾼 문자열을 return 하는 solution 함수를 완성해 주세요.
function solution(myString) {
var answer = '';
return answer;
}
function solution(myString) {
return [...myString].map((v) => v < 'l' ? 'l' : v).join('');
}
spread
를 사용하여 myString
을 배열화 시킨다. map
을 돌리며 각 v
가 'I'보다 작다면(앞서있다면) 'I'를 반환하고, 그렇지 않다면 v
를 그대로 반환한다.join("")
으로 배열을 문자열로 합쳐준 뒤 반환한다.JS에서 문자열을 서로 비교할 땐, 유니코드로 변환하여 비교한다고 한다.
그래서 'I'의 유니코드보다 작은지를 판단하여 알맞게 반환해 주는 것이다.
갈수록 어려워진다...
그리고 갈수록 머리가 굳는 느낌이다...
조금만 생각해 보면 풀 수 있었을 것 같은데 어쩐지 굴러가지 않는다 ^_ㅜ