Lv. 1 - 두 정수사이의 합 풀이과정
문제 설명
- 두 정수
a
,b
가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. - 예를 들어
a
= 3,b
= 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.
제한사항
-
a
와b
가 같은 경우는 둘 중 아무 수나 리턴하세요. -
a
와b
는 -10,000,000 이상 10,000,000 이하인 정수입니다. -
a
와b
의 대소관계는 정해져있지 않습니다.
입출력 예
a | b | return |
---|---|---|
3 | 5 | 12 |
3 | 3 | 3 |
3 | 3 | 12 |
프로그래머스에서 제공한 코드
처음 프로그래머스에서 작성된 코드는 아래와 같다.
function solution(a, b) {
var answer = [];
return answer;
}
문제 풀이
const solution = (a, b) => {
let num = 0;
for (let i = Math.min(a, b); i <= Math.max(a, b); i++) {
num += i;
}
return num;
};
console.log(solution(3, 5));
함수 선언
- 화살표 함수를 사용하여
a
,b
매개변수를 받는다.
풀이
-
a
와b
연산 후 리턴해줄 변수num
을 생성한다. -
a
와b
사이에 속한 모든 정수를 구하기 위해 반복문의 i는let i = Math.min(a,b)
즉 a,b의 최소값부터 시작해서Math.max(a,b)
최대값까지 실행되게 작성했다. - 반복문이 실행되면서 변수 num에 값을 더해줄 수 있게 적용했다.
결과 반환
-
a
는 3,b
는 5일 경우 3+4+5 = 12 반환 -
a
는 3,b
는 3일 경우 최소값,최대값이 3이여서 3이 반환 -
a
는 5,b
는 3일 경우 3+4+5 = 12 반환
실행
-
console.log(solution(3,5))
실행하면 12이 출력된다. -
console.log(solution(3,3))
실행하면 3이 출력된다. -
console.log(solution(5,3))
실행하면 12이 출력된다.
다른 사람의 풀이 참고
나는 변수를 선언했지만 아래의 풀이에서는 매개변수에서 값을 지정하여 대입했다.
이런식으로도 작성할 수 있는지 처음알아서 신선했다!!
// [22명] 파라미터에서 s의 값을 설정해서 더 간결하게 코드를 작성한 문제 풀이
function adder(a, b, s = 0) {
for (var i = Math.min(a, b); i <= Math.max(a, b); i++) s += i;
return s;
}
링크
- 문제 링크: 문제 링크
- Git: rarrit github
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges