- 나누어 떨어지는 숫자 배열
링크-> https://school.programmers.co.kr/learn/courses/30/lessons/12910
나의 풀이>
function solution(arr, divisor) {
var answer = [];
arr.forEach((a) => {
if (a % divisor === 0) {
answer.push(a);
}
});
answer.sort((a, b) => a - b);
var list = answer.length
if (list === 0) {
return [-1];
} else {
return answer;
}
}
- 이상한 문자
랑크 --> https://school.programmers.co.kr/learn/courses/30/lessons/12930
function solution(s) {
let result =''
let num = 0
for(i=0; i< s.length; i++){
if (s.charAt(i) === " "){
num =0
result += " ";
continue;
} else if (num %2 ==0){
result +=(s.charAt(i).toUpperCase());
num++;
} else{
result += (s.charAt(i).toLowerCase());
num++
}
}
return result;
}
- 콜라츠 추측
링크-> https://school.programmers.co.kr/learn/courses/30/lessons/12943
while 문에 조건을 True 값이랑 false 값을 햇갈려서 조금 해맸었던 문제다.
function solution(num) {
var answer = 0;
var target = num;
while (target !== 1) {
if (target % 2 === 0) {
target = target / 2;
} else {
target = target * 3 + 1;
}
answer += 1;
if (answer === 500) {
return -1;
}
}
return answer;
}
- 두 정수 사이의 합
링크 --> https://school.programmers.co.kr/learn/courses/30/lessons/12912
나의 첫번쨰 시도 코드...
function solution(a, b) {
var answer = 0;
var big = 0;
var small = 0;
if ( a <= b){
big += b
small += a
} else {
big = a;
small = b;
}
for (i=small; i<big+1; i++ ){
answer +=i
}
return answer;
}
두번쨰: 가오스의재림 (등차수열의공식)으로
= (x+y) * (y-x)+1/2
function solution(a, b) {
var answer = (a+b)*(Math.abs(b-a)+1)/2;
return answer;
}