-
[Programmers] JavaScript 알고리즘 | Lv.0 l로 만들기► JS Algorithm/Programmers 2024. 1. 9. 20:06반응형
🔒 문제 설명
알파벳 소문자로 이루어진 문자열 myString이 주어집니다. 알파벳 순서에서 "l"보다 앞서는 모든 문자를 "l"로 바꾼 문자열을 return 하는 solution 함수를 완성해 주세요.
🔒 제한사항
- 1 ≤ myString ≤ 100,000
- myString은 알파벳 소문자로 이루어진 문자열입니다.
🔒 입출력 예
myString result "abcdevwxyz" "lllllvwxyz" "jjnnllkkmm" "llnnllllmm"
🔒 입출력 예 설명
입출력 예 #1
- 0 ~ 4번 인덱스의 문자 "a","b","c","d","e"는 각각 "l"보다 앞서는 문자입니다. 따라서 "l"로 고쳐줍니다.
- 그 외의 문자는 모두 "l"보다 앞서지 않는 문자입니다. 따라서 바꾸지 않습니다.
- 따라서 "lllllvwxyz"을 return 합니다.
입출력 예 #2
- 0번, 1번, 6번, 7번 인덱스의 문자 "j","j","k","k"는 각각 "l"보다 앞서는 문자입니다. 따라서 "l"로 고쳐줍니다.
- 그 외의 문자는 모두 "l"보다 앞서지 않는 문자입니다. 따라서 바꾸지 않습니다.
- 따라서 "llnnllllmm"을 return 합니다.
🔐 solution of mine
Array.reduce()
String.charCodeAt() 아스키코드
const solution = (myString) => console.log( [...myString].reduce( (acc, cur) => cur.charCodeAt() > "l".charCodeAt() ? acc + cur : acc + "l", "" ) ); solution("abcdevwxyz"); // expected output: "lllllvwxyz" solution("jjnnllkkmm"); // expected output: "llnnllllmm"
🔐 solution of others
String.replace()
정규표현식
const solution = (myString) => console.log(myString.replace(/[a-k]/g, "l")); solution("abcdevwxyz"); // expected output: "lllllvwxyz" solution("jjnnllkkmm"); // expected output: "llnnllllmm"
🔐 solution of others
Array.map()
Array.join()
const solution = (myString) => console.log([...myString].map((v) => (v < "l" ? "l" : v)).join("")); solution("abcdevwxyz"); // expected output: "lllllvwxyz" solution("jjnnllkkmm"); // expected output: "llnnllllmm"
반응형'► JS Algorithm > Programmers' 카테고리의 다른 글
[Programmers] JavaScript 알고리즘 | Lv.0 문자열 바꿔서 찾기 (0) 2024.01.09 [Programmers] JavaScript 알고리즘 | Lv.0 접미사 배열 (0) 2024.01.09 [Programmers] JavaScript 알고리즘 | Lv.0 문자열 정렬하기 (1) (1) 2024.01.09 [Programmers] JavaScript 알고리즘 | Lv.0 특별한 이차원 배열 2 (1) 2024.01.09 [Programmers] JavaScript 알고리즘 | Lv.0 ad 제거하기 (0) 2024.01.09 - 1 ≤ myString ≤ 100,000