Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

요리사에서 IT개발자로

내적 (Java) 본문

Code Kata

내적 (Java)

H.S-Backend 2024. 5. 23. 09:31

문제 설명

길이가 같은 두 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의 길이는 1 이상 1,000 이하입니다.
  • a, b의 모든 수는 -1,000 이상 1,000 이하입니다.

 

입출력 예 설명

입출력 예 #1

  • a와 b의 내적은 1*(-3) + 2*(-1) + 3*0 + 4*2 = 3 입니다.

입출력 예 #2

  • a와 b의 내적은 (-1)*1 + 0*0 + 1*(-1) = -2 입니다.

 

  1. a의 배열과 b의 배열의 길이는 같이 출력되며 
  2. 첫번째 값은 첫번째 값끼리, 두번째는 두번째 끼리 
  3. 곱셈을 하는 방식이므로 
  4. for 문의 int i가 a와 b의 배열을 반복하며 같은 배열의 위치인 값을 곱하여 
  5. answer에 += 을 사용하여 합산을 출력하도록 하였다.

 

https://github.com/Hyungs0703/Algorithms_J.S

 

GitHub - Hyungs0703/Algorithms_J.S: This is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https:/

This is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - Hyungs0703/Algorithms_J.S

github.com

 

 


다른사람의 풀이

IntStream은Java의 기본타입인 int를 처리할 수 있는 스트림

  1. range(0, a.legnth)는 a의 배열의 크기가 5일 경우
  2. range(0. 5) 라면 0, 1, 2,3 ,4 가 생성된다.
  3. .map 메소드는 스트림의 각 요소를 주어진 함수로 변환
  4. index 0번째라면 -> a[0] * b[0]을 
  5. index 1 -> a[1]* b[1]
  6. 을 순차적으로 반복하며 map을 통해 얻어진 결과들은 중간 스트림에 저장.
  7. 저장된 값들을 sum()을 사용하여 모두 더한값이 된다.

 

중간 스트림에 저장된 결과는

다음 단계로 전달되기 전까지 메모리에 존재하지만 내부적으로 관리되어 
명시적으로 접근이나 저장소를 지정할 수 없다.
반응형