[TIL] 241217 (프로그래머스 l로 만들기)

·2024년 12월 17일

TIL

목록 보기
252/268
post-thumbnail

오늘 한 일

  • 알고리즘 코드카타
    • l로 만들기

알고리즘 코드카타

l로 만들기

문제

알파벳 소문자로 이루어진 문자열 myString이 주어집니다. 알파벳 순서에서 "l"보다 앞서는 모든 문자를 "l"로 바꾼 문자열을 return 하는 solution 함수를 완성해 주세요.

풀이

function solution(myString) {
    const alphabet = 'abcdefghijklmnopqrstuvwxyz'
    return [...myString].map((el)=>{
        if (alphabet.indexOf(el)<11){
            return 'l'
        }
        return el
    }).join('')
    
}

알파벳끼리 비교를 해줘야할 것 같아서 알파벳을 전부 적은 후 l이 있는 11번째보다 index가 앞일 경우에는 l로, 아닐 경우에는 그대로 return하는 방식을 사용했다. 다시 보니 l 뒤의 문자들은 굳이 안 적어줬어도 됐을듯.

다른 사람의 풀이

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

충격(?)을 받았다. 알파벳끼리도 비교를 할 수 있었다. 굳이 alphabet 상수를 선언해줄 필요가 없었던 것이다. 새로운 사실을 알게 되었다.

profile
웹 프론트엔드 개발자

0개의 댓글