프로그래머스 코딩테스트 1단계
행렬의 덧셈
function solution(arr1, arr2) {
var answer = [];
var result = [];
arr1.map((array1, index) => {
array1.map((a,idx) => {
answer.push(a+arr2[index][idx])
})
result.push(answer);
answer = [];
})
return result;
}
콜라츠 추측
function solution(num) {
var answer = 0;
if (num !== 1) {
while(true){
num % 2 === 0 ? num = num/2 : num = (num*3)+1;
answer += 1;
if(num === 1) { return answer; break; }
if(answer === 500){return -1; break; }
}
}else{
return 0;
}
}
최대공약수와 최소공배수
function solution(n, m) {
var answer = [];
var arr_n = [];
var arr_m = [];
var max = [];
var i = 1;
while (i <= n){
n % i == 0 ? arr_n.push(i) : 0
i+=1
}
var i = 1;
while (i <= m){
m % i == 0 ? arr_m.push(i) : 0
i+=1
}
arr_n.map(a => {
arr_m.map(b => {
a === b ? max.push(a) : 0
})
})
answer.push(Math.max(...max));
answer.push(n*m/Math.max(...max));
return answer;
}
평균 구하기
function solution(arr) {
var answer = 0;
arr.map(a => answer += a)
return answer/arr.length;
}
하샤드 수
function solution(x) {
var answer = true;
var sum = 0;
arr = x.toString().split('').map(a => a*1)
for ( var i = 0; i < arr.length; i++) {
sum += arr[i];
}
console.log(sum);
x%sum === 0 ? answer : answer=false;
return answer;
}