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