나의 풀이
class Solution {
public int solution(int[] a, int[] b) {
int sum=0;
for(int i=0; i<a.length; i++){
sum+=a[i]*b[i];
}
return sum;
}
}
다른 사람의 풀이
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();
}
}
Stream.map() - 보충학습
map()은 인자로 함수를 받으며, Stream의 요소를 다른 형태로 변경합니다. 인자로 전달되는 함수를 구현하여 요소를 어떻게 변경할지 설정할 수 있습니다.
아래 예제는 Stream의 문자열 요소들을 대문자로 변경합니다.
List<String> list =
Arrays.asList("a1", "a2", "b1", "b2", "c2", "c1", "c3");
Stream<String> stream = list.stream();
stream.map(s -> s.toUpperCase()).forEach(System.out::println);
'프로그래머스(자바) > LV.1(자바)' 카테고리의 다른 글
직사각형 별찍기→ for문 사용X, IntStream.range() 사용O (0) | 2022.12.15 |
---|---|
문자열 다루기 기본→정규식 표현★★+match() (0) | 2022.12.15 |
수박수박수박수박수박수?→ for문의 i와 삼항연산자+StringBuffer()+append() (0) | 2022.12.15 |
가운데 글자 가져오기 → 자바는 정수끼리 나누면 몫이 나온다.★ (0) | 2022.12.15 |
음양 더하기 → +와 -가 반복될 때는 삼항 연산자★ (0) | 2022.12.15 |