TIL | [알고리즘] 내적(Java)

hyemin·2022년 3월 12일
0

알고리즘

목록 보기
15/38
post-thumbnail

내적
i가 같을 때 arr1[i], arr2[i]를 곱한 값들을 더한 값

THINKING

  1. 배열 a와 배열 b를 돌며 값들을 꺼내 곱하고 answer에 더해주자 - for

내 풀이

class Solution {
    public int solution(int[] a, int[] b) {
        int answer = 0;
        for (int i = 0; i < a.length; i++) {
            answer += a[i] * b[i];
        }
        return answer;
    }
}

다른 풀이

import java.util.stream.IntStream;

class Solution {
    public int solution(int[] a, int[] b) {
        return IntStream.range(0, a.length).map(index -> a[index] * b[index]).sum();
    }
}

IntStram.range()에 대해 공부했었는데 써먹질 못했다.

배운 것

앞서 filter에 대해 공부하며 언급했는데 바로 다음 문제에서 써먹을 수 있는 내용이 나왔다.

map

스트림 내 요소들을 하나씩 특정값으로 변환해준다.

사용법

ArrayList<string> list = new ArrayList<>(Arrays.asList("a", "aa", "aaa"));

list.stream().map(s -> s.toUpperCase()).forEach(s -> System.out.println(s));

.collect(Collectors.toList())로 결과를 return 받거나 위의 예시처럼 forEach로 출력할 수 있다.

A
AA
AAA

0개의 댓글

관련 채용 정보