: 프로그래머스 코딩테스트 연습 JavaScript Lv1 풀어보기
클릭해서 문제 전체 보기🔼
function solution(a, b) {
let result = 0;
if(a == b) return a;
if(b - a < 0) {
let tmp = a;
a = b;
b = tmp;
}
for(i=a; i<=b; i++) result += i;
return result;
}
📢 풀이 설명
주어진 a보다 b가 더 작으면 b와 a의 값을 바꾼다. 그 후, a부터 b까지의 값을 더한다.
클릭해서 문제 전체 보기🔼
function solution(num) {
let count = 0;
while(num != 1 && count<501) {
if(num % 2 == 1) {
num = num*3 + 1;
count++
}
if(num % 2 == 0) {
num = num / 2;
count++
}
}
if(count > 500) return -1;
return count;
}
📢 풀이 설명
num이 홀수일 때와 짝수일 때로 나누어 한 세트로 만들어 계산을 시행하고, num이 1이 아니고, 총 count가 500을 넘지 않을 때까지 반복한다.
클릭해서 문제 전체 보기🔼
function solution(seoul) {
return `김서방은 ${seoul.indexOf("Kim")}에 있다`
}
📢 풀이 설명
백틱
안의 글자는 모두 문자열 처리되고, ${}안의 값은 변수로 작용한다. "Kim"의 인덱스 번호롤 찾아 넣어 출력한다.
클릭해서 문제 전체 보기🔼
function solution(arr, divisor) {
let result = [];
arr.sort((a, b) => a - b).forEach(ele => {
if(ele % divisor == 0) result.push(ele);
})
if(result.length == 0) return [-1];
return result;
}
📢 풀이 설명
주어진 배열을 오름차순으로 정렬한 후, 배열 속 요소에서 주어진 divisor로 나누어떨어지는 수를 새 배열에 push한다.