if문을 통한 Swap 알고리즘과 for문을 이용한 반복문을 사용하지 않고 결과를 도출하고 싶었지만 알고리즘이
생각나지 않아 결국 if문과 for문을 사용하게 됐다...
다른 사람의 코드를 보니깐
function adder(a, b){
var result = 0
//함수를 완성하세요
return (a+b) * (Math.abs(a-b)+1) / 2;
}
가우스의 덧셈 공식을 이용해서 빠르게 문제를 푸는 걸 확인했다.
1. a + b를 구한다.
2. Math.abs(a-b) + 1로 a와 b 사이 개수를 구한다.
3. 첫 번째 단계의 결과와 두 번째 단계의 결과를 곱한 후, 2로 나눕니다.
제출한 코드 :
function solution(a, b)
{
if(a > b)
{
let temp = a;
a = b;
b = temp;
}
let answer = 0;
for(let i = a; i <= b; i++) answer += i;
return answer;
}
'문제 풀기 > JavaScripts' 카테고리의 다른 글
문제 24. 서울에서 김서방 찾기(난이도 4)(배열 Find, FindIndex) (0) | 2024.07.16 |
---|---|
문제 23. 콜라츠 추측(난이도 2) (0) | 2024.07.16 |
문제 21. 하샤드 수(난이도 2) (0) | 2024.07.16 |
문제 19. 정수 제곱근 판별(난이도 1) (0) | 2024.07.15 |
문제 20. (중요)정수 내림차순으로 배치하기(난이도 5)(정수 sort 함수) (0) | 2024.07.15 |