728x90
강의 내용 정리해야 하는데 집중력 떨어져서 늦은 밤에 도망치듯 놀러 온 코테,,,, 잠시 힐링 타임으로 코테 조금만 풀고 자야지...☺️
나누어 떨어지는 숫자 배열
function solution(arr, divisor) {
var answer = [];
arr.forEach((el)=>{
if(el % divisor == 0) answer.push(el)
})
if(answer.length == 0) answer.push(-1)
return answer.sort((a,b)=>a-b);
}
음양 더하기
function solution(absolutes, signs) {
var answer = 0;
let Sindex = 0;
let Aindex = 0;
while(Sindex <= signs.length-1){
if(signs[Sindex] == false){
let num = absolutes[Aindex] * -1
answer += num
Sindex++
Aindex++
}
else {
answer += absolutes[Aindex]
Sindex++
Aindex++
}
}
return answer;
}
뭔가 더 짧게 할 수 있었을거 같은데.... 제한 조건에 ' absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. ' 라는 조건이 있었다. 그 말은 배열의 수들이 절댓값이라 음수가 들어 올 수 없다는 뜻이므로, false인 경우에만 요소를 음수처리만 해주면 된다는 뜻이다. 처음엔 정수의 음수 양수를 반대로 반환해주는 메소드가 있을까 고민했지만, 조건이 있어 그럴 필요가 없었다!
찾다보니 Math.abs() 메소드가 있어 이 게시물에 짧게 적어보자면, 매개변수로 받은 수의 절댓값을 반환해주는 메소드이다. 따라서 음수인 수는 양수로 반환받을 수 있지만, 양수의 수의 절댓값은 양수이므로 음수의 수는 받을 수 없다. 만약 양수의 수를 음수로 반환받고 싶다면 위의 풀이처럼 ' 수 * -1 ' 처리를 해주면 된다.
728x90