728x90
▶ 거듭제곱 포스팅에서 알아본 거듭제곱 연산자(**)를 활용한 간단한 문제입니다.
문제설명
정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요.
제한사항
- 2 ≤ num_list의 길이 ≤ 10
- 1 ≤ num_list의 원소 ≤ 9
입출력 예 & 설명
- 입출력 예 #1
- 모든 원소의 곱은 120, 합의 제곱은 225이므로 1을 return합니다.
- 입출력 예 #1
- 모든 원소의 곱은 840, 합의 제곱은 529이므로 0을 return합니다.
나의 풀이
사용하여 배열의 요소를 순차적으로 순회하며 작업의 처리 결과를 누적하여 최종 리턴 값을 하나로 줄여 리턴하기 위해서 reduce() 를 사용했습니다.
한줄로 끝나는 간단한 제곱문제이지만 ( 모든 원소들의 곱이 모든 원소들의 합의 제곱) 를 n*n형식으로 제곱근을 구해줬기 때문에 num2 변수에 저장을 하지 않으면 5번 째 줄 return을 할때 복잡한 코드가 완성되기 때문에 따로 num1, num2를 선언하여 저장했습니다.
다른 풀이
■ 거듭 제곱연산자(**) 사용
물론 한줄로 마무리한 코드가 마냥 좋은 것만은 아니지만 거듭제곱 연산자(**)를 사용하여 간결하게 표현해보았습니다. 전체적인 구조는 앞선 "나의 풀이"와 동일하지만 ES6의 화살표 연산자를 사용하여 function을 없애주고, 거듭 제곱연산자(**)를 사용하여 따로 변수를 선언하고 해당 변수에 저장하는 일을 줄였습니다.
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv0 부분 문자열 이어 붙여 문자열 만들기 (JavaScript) (0) | 2024.01.20 |
---|---|
[프로그래머스] 공백으로 구분하기 2 (JavaScript) (0) | 2024.01.20 |
[프로그래머스] 순서 바꾸기 (JavaScript) (0) | 2024.01.15 |
[프로그래머스] Lv0 배열 비교하기 (JavaScript) (1) | 2024.01.15 |
[프로그래머스] 첫 번째로 나오는 음수 (JavaScript) (0) | 2024.01.14 |