본문 바로가기
항해

알고리즘 2

by ho-bolt 2022. 3. 14.

1. 나누어 떨어지는 숫자 배열 

array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.

 

의식의 흐름

1. 배열에서 divisor로 나누어 떨어지는 애만 먼저 배열에 넣어준다. 

2. 만약 그 배열에 아무것도 안들어갔다면 그 길이는 0일 것이고 이걸 기점으로 if문이나 삼항연산자를 통해 풀어준다. 

 

if문
filter함수와 삼항연산자

filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환을 해준다. 

 

2. 내적 

길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요.

이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이)

 

a배열,b배열읠 서로 더해서 answer에 넣어주면 되는 간단한 문제였다. 

 

이 문제를 reduce()함수를 이용해 풀어보쟈!

reduce() 메서드는 왼쪽에서 오른쪽으로 이동하며 배열의 각 요소마다 누적 계산값과 함께 함수를 적용해 하나의 값으로 줄입니다.

한 줄로는 화살표 함수를 통해 나타낼 수 있고 function으로 나타낼 수도 있다.

728x90

'항해' 카테고리의 다른 글

WebRTC에 대한 이해  (0) 2022.06.09
핸드폰 번호 하이픈형식으로 출력되는 문제 영상  (2) 2022.03.17
알고리즘 3  (0) 2022.03.17
알고리즘 문제  (0) 2022.03.14
항해 1주차 회고록  (2) 2022.03.13

댓글