반복문을 순회하는 i를 str의 길이 -4로 이하로 해서 문자열 길이 안에서 비교가 이루어지도록 했다.
function ABCheck(str) {
str = str.toLowerCase()
for (let i = 0; i < str.length-4 ; i++) {
if(
(str[i] === 'a' && str[i+4] === 'b')||
(str[i] === 'b' && str[i+4] === 'a')
){
return true
}
}
return false
}
레퍼런스 코드를 보니까 반복문을 순회하는 i를 4로 초기화해서 i-4번째 인덱스를 함께 비교했다.
function ABCheck(str) {
if (str === undefined) {
return false;
}
str = str.toLowerCase();
for (let i = 4; i < str.length; i++) {
if (
(str[i] === 'a' && str[i - 4] === 'b') ||
(str[i] === 'b' && str[i - 4] === 'a')
) {
return true;
}
}
return false;
}
문제 설명
함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.
제한 조건
x는 -10000000 이상, 10000000 이하인 정수입니다.
n은 1000 이하인 자연수입니다.
x + x
, 2번째 인덱스에는 x + x + x
, ...를 담아준다 function solution(x, n) {
const answer = [];
answer[0] = x;
for (let i = 1; i < n ; i++) {
answer[i] = answer[i-1] + x;
}
return answer;
}
x * 1
, 1번째 인덱스에는 x * 2
...를 추가해준다. function solution(x, n) {
const answer = [];
for (let i = 1; i <= n ; i++) {
answer.push(x*i)
}
return answer;
}
배열 메소드를 사용한 다른 사람들의 코드를 보니 훨씬 간결해서 참고했다.
function solution(x, n) {
return Array(n).fill(x).map((value, index) => value * (index+1))
}
arr.fill(value[, start[, end]])
arr.map(callback(currentValue[, index[, array]])[, thisArg])