세가지 메서드를 사용해 문자열을 반전한다.
split() 메서드로 문자열 객체를 배열로 분할한다.reverse() 메서드로 배열을 반전한다.join() 메서드로 배열의 모든 요소를 문자열로 결합한다.function solution(my_string) {
return my_string.split("").reverse().join("");
}
다른 사람들의 풀이를 보니 split() 메서드가 아닌 스프레드 문법으로 문제를 해결한 것을 볼 수 있었다.
function solution(my_string) {
return [...my_string].reverse().join("");
}
문자열 안에 특정 문자열이 있는지 찾는 문제가 있었다.
function solution(str1, str2) {
for (let i=0; i < str1.length;i++) {
let sum = 0;
for (let j=0; j < str2.length;j++) {
if (str1[i+j] == str2[j]) {
sum++
if (sum == str2.length) {
return 1;
}
} else {
break;
}
}
}
return 2;
}
이렇게 for문을 두 번씩 써가며 어렵게 풀었으나...
includes() : 하나의 문자열이 다른 문자열에 포함되어 있는지를 판별하고, 결과를 true 또는 false로 반환한다. 검색 시 대소문자를 구분한다.includes() 메서드에 대한 개념을 공부한 기억이 있으나, 공부했던 건 배열 쪽이었고, 그마저도 딱 떠오르지 않아 위의 코드처럼 긴 코드를 작성하게 되었다. 이 메서드를 사용해서 문제를 풀면 다음과 같다.
function solution(str1, str2) {
return str1.includes(str2) ? 1 : 2;
}
아직 문법에 대한 지식량이 많이 부족하다는 걸 깨닫게 해준 문제였다. 문제 풀이와 동시에 문법 공부를 꾸준히 동시에 해야겠다.