function solution(str) {
let answer = "";
const arr = str.split("");
answer = arr.map((s) => {
if (s == "A") {
s = "#"
return s
} return s
})
answer = answer.toString();
return answer;
}
-> 문자열 메서드에 대한 지식이 너무 부족해서 결과값이 다르게 나왔다. 일단 사용한 메서드 정리.
split 메서드는 첫 번째 인수로 문자열을 구분한 후 분리된 각 문자열로 이루어진 배열을 반환한다. 인수로 빈 문자열을 전달하면 각 문자를 모두 분리하고, 인수를 생략하면 대상 문자열 전체를 단일 요소로 하는 배열을 반환한다. 두 번째 인수로는 배열의 길이를 지정할 수 있다.
map 메서드는 자신을 호출한 배열의 모든 요소를 순회하면서 인수로 전달받은 콜백 함수를 반복 호출한다.
그리고 콜백 함수의 반환값들로 구성된 새로운 배열을 반환한다.
toString 메서드는 배열의 요소를 문자열로 변환하여 반환한다.
정규표현식을 말로만 들었는데 강의를 통해 처음 활용하는 것을 봤다. 가끔씩 유용하게 사용할 수 있을 것 같아서 dream coding 유튜브에 올라와있는 정규표현식강의를 정독해야겠다.
문자열을 배열처럼 쓸 수 있는 게 신기하다. 대신 문자열은 배열처럼 얕은 복사가 되는 것이 아니라 값이 복사된다는 점을 유의해야겠다.
function solution(string, t) {
let answer = 0
const arr = string.split("");
arr.forEach((s) => {
if(s == t) {
answer++;
}
});
return answer;
}
The for...of statement creates a loop iterating over iterable objects, including: built-in String, Array, array-like objects (e.g., arguments or NodeList), TypedArray, Map, Set, and user-defined iterables.
MDN에서 퍼온 for of 문 설명이다. 배열에만 적용할 수 있는 건 줄 알았는데 문자열같은 배열같은 오브젝트에는 다 적용가능하다.