문자열 myString이 주어집니다. myString에서 알파벳 "a"가 등장하면 전부 "A"로 변환하고, "A"가 아닌 모든 대문자 알파벳은 소문자 알파벳으로 변환하여 return 하는 solution 함수를 완성하세요.
제한사항
- 1 ≤ myString의 길이 ≤ 20
- myString은 알파벳으로 이루어진 문자열입니다.
입출력 예myStringresult
"abstract algebra" | "AbstrAct AlgebrA" |
"PrOgRaMmErS" | "progrAmmers" |
입출력 예 #1
- 0번, 5번, 9번, 15번 인덱스의 "a"는 소문자이므로 전부 대문자로 고쳐줍니다.
- 다른 문자들은 전부 "a"가 아닌 소문자이므로 바꾸지 않습니다.
- 따라서 "AbstrAct AlgebrA"를 return 합니다.
입출력 예 #2
- 0번, 2번, 4번, 6번, 8번, 10번 인덱스의 문자들은 "A"가 아닌 대문자이므로 전부 소문자로 고쳐줍니다.
- 5번 인덱스의 "a"는 소문자이므로 대문자로 고쳐줍니다.
- 다른 문자들은 전부 "a"가 아닌 소문자이므로 바꾸지 않습니다.
- 따라서 "progrAmmers"를 return 합니다.
< 정답 >.
쉬운 문제이다. 반복문 map, forEach는 역시 아직 for문 만큼 능숙하게 못쓰는것같아서 이렇게 쓴다.
쪼오끔 헤맸다.
arr.map의 결과물을 return arr로 출력하지 않는 이유는 map 메서드가 원본 배열을 수정하지 않고 새로운 배열을 반환
function solution(myString) {
let arr = myString.toLowerCase().split("");
console.log(arr);
let result = arr.map((x)=>{
if(x ==='a'){
x = 'A'
return x
}else{
return x
}
})
return result.join("")
}
이렇게 손쉽게 replaceAll로 교체가 가능.
const solution=s=>s.toLowerCase().replaceAll('a','A');
'🗃️javascript' 카테고리의 다른 글
순서 바꾸기(js, Lv.0)[splice와 인터프리터로 pop, push없이 순환시키기] (1) | 2024.07.10 |
---|---|
할 일 목록(js, Lv.0)[객체 다루는 연습하기] (0) | 2024.07.10 |
전화번호 목록(js, Lv.2)[startWith()] (0) | 2024.07.09 |
[1차] 뉴스 클러스터링(js, Lv.2) (0) | 2024.07.08 |
과일 장수(js, Lv.1) (0) | 2024.07.07 |