https://school.programmers.co.kr/learn/courses/30/lessons/120956
function solution(babbling) {
const expressionsReg = /(aya)|(ye)|(woo)|(ma)/g
let answer = 0;
for (let i = 0; i < babbling.length; i++) {
const restLength = babbling[i].replace(expressionsReg, "").length
if (!restLength) answer++;
}
return answer;
}
expressionsReg
가 babbling
에 있으면 지운다.babbling
이 남았다면 answer
값 증가시킨다.https://school.programmers.co.kr/learn/courses/30/lessons/120924
function solution(common) {
const leng = common.length;
let answer = 0;
if (common[1] - common[0] === common[leng-1] - common[leng-2]) {
answer = common[leng-1] + (common[1] - common[0])
} else {
answer = common[leng-1] * (Math.floor(common[1] / common[0]))
}
return answer;
}
https://school.programmers.co.kr/learn/courses/30/lessons/120923
function solution(num, total) {
let answer, i=total;
while (true) {
answer = [];
for (let j = 0; j < num; j++) {
answer.push(i+j);
};
const sum = answer.reduce((x,y)=>x+y,0);
if (sum === total) break;
i--;
}
return answer;
}
total
보다 작으므로 total
의 수를 줄여가며 배열에 추가한다.total
을 비교해 같다면 중단, 아니라면 수를 점점 줄여간다.https://school.programmers.co.kr/learn/courses/30/lessons/120922
function solution(M, N) {
if (M === 1 && N === 1) return 0;
const m = M !== 1 ? M - 1 : 0;
const n = N !== 1 ? (N - 1) * M : 0;
return m + n;
}
M
과 N
이 모두 1이라면 자를 수 없으므로 0 리턴.M
이 1이 아니라면 M - 1
만큼 자를 수 있다.N
이 1이 아니라면 N - 1
에 M
을 곱한 만큼 자를 수 있다.https://school.programmers.co.kr/learn/courses/30/lessons/120921
function right(A, B) {
const arr = A.split("");
let count = 0;
for (let i = 0; i < A.length; i++){
if ( arr.join("") === B) return count;
arr.unshift(arr.pop());
count++;
}
return -1;
}
function solution(A, B) {
let answer = right(A, B);
return answer;
}
B
와 같으면 함수 종료, for
문이 모두 돌아가면 조합할 수 없으므로 -1
반환.