Lv. 0 - 두 수의 곱 풀이 과정
문제 설명
정수 num1
과 num2
가 매개변수로 주어질 때,
num1
과 num2
의 곱한 값을 return 하도록 solution 함수를 완성해주세요.
제한사항
- -50,000 ≤
num1
≤ 100 - -50,000 ≤
num2
≤ 100
입출력 예
num1 | num2 | result |
---|---|---|
3 | 4 | 12 |
27 | 19 | 513 |
입출력 예 설명
3-1) 입출력 예 설명 #1
num1
이 3, num2
가 4이므로 3 * 4 = 12를 return합니다.
3-2) 입출력 예 설명 #2
num1
이 27, num2
가 19이므로 27 * 19 = 513을 return합니다.
프로그래머스에서 제공한 코드
처음 프로그래머스에서 작성된 코드는 아래와 같다.
function solution(num1, num2) {
var answer = 0;
return answer;
}
문제 풀이
const solution = (num1, num2) => num1 * num2;
console.log(solution(3, 4)); // 12
console.log(solution(27, 19)); // 513
수 선언
- 화살표 함수를 사용하여
num1
,num2
매개변수를 받는다.
풀이
- 입출력 예 설명에 맞춰
num1 * num2
해주었다. - 화살표 함수의 단일 표현식을 사용하여 리턴을 생략하여 적용
결과 반환
-
num1
에 3,num2
에 4을 대입할 경우 3 * 4 = 12 반환 -
num1
에 27,num2
에 19을 대입할 경우 27 * 19 = 513 반환
실행
-
console.log(solution(3, 4));
을 호출하면, 12 반환 -
console.log(solution(27, 19));
을 호출하면, 513 반환
다른 사람의 풀이 참고
이중 for 문을 사용한 방법도 있었고, while 문을 사용한 방식도 있었다.
또한 reduce 메서드를 사용하여 적용한 풀이과정이 있는데, 마침 현재 공부하고있는 메서드라 관심이 더 갔다.
// [J] 이중 for 문을 사용한 풀이 과정
function solution(num1, num2) {
var ans = 0;
for (let i = 1; i <= num1; i++){
for (let j = 1; j <= num2; j++){
ans = ans + 1;
}
}
return ans;
}
// [bjigeon] reduce 메서드를 사용한 풀이 과정
function solution(num1, num2) {
const array = [num1, num2];
return array.reduce((acc, cur) => acc*cur,1);
}
링크
- 문제 링크: 문제 링크
- Git: rarrit github
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges