728x90
https://programmers.co.kr/learn/courses/30/lessons/12912
function solution(a, b) {
// 정답을 받을 변수
var answer = 0;
// 합을 저장할 변수
let sum = 0;
// 빈배열
let arr = [];
// 배열에 a와 b에서 받아온 값을 push한다
arr.push(a);
arr.push(b);
// 배열을 a-b 오름차순으로 sorting한다
arr.sort((a,b)=>(a-b))
// 만약 두 수가 같을경우
if(arr[0] === arr[1])
// 인덱스0번을 return
return arr[0]
else{
// 다른경우는 숫자는 두개뿐이니까, 첫번째수에서 두번째수까지
// for loop 돌면서 값을 i로 빼온다
for(let i=arr[0]; i<=arr[1]; ++i ){
// sum = sum + i
sum += i;
}
}
// 제출해야할 답에 넣어준다.
answer = sum
return answer;
}
제일 앞에있던 문제인데 코드를 너무 길게 써버렸나 싶다.. 알고리즘인데..
정답이다.
생각해보니 두 수의 합은 가우스 공식을 이용하면 된다.
(제일앞숫자 + 제일뒤숫자) x (전체숫자/2)
function adder(a, b){
var result = 0
return (a+b)*(Math.abs(b-a)+1)/2;
}
728x90
'알고리즘' 카테고리의 다른 글
프로그래머스 Level 1 -가운데 글자 가져오기(Javascript) (0) | 2022.05.13 |
---|---|
프로그래머스 Level 1 -평균 구하기(Javascript) (0) | 2022.05.13 |
프로그래머스 Level 1 -하샤드 수(Javascript) (0) | 2022.05.13 |
프로그래머스 Level 1 - 핸드폰 번호 가리기(Javascript) (0) | 2022.05.13 |
Javascript로 백준에서 문제풀기 (Node.js) (0) | 2022.05.13 |