hoon's bLog

Java 프로그래머스 내적 자바 본문

코딩테스트/프로그래머스

Java 프로그래머스 내적 자바

개발한기발자 2022. 6. 10. 14:13
반응형

문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/70128

 

코딩테스트 연습 - 두 개 뽑아서 더하기

정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한

programmers.co.kr


 

[나의 풀이]

public class Solution02 {
    public int solution(int[] a, int[] b) {
        int answer = 0;
        for(int i=0; i < a.length; i++){
            answer += a[i]*b[i];
            //a요소와 b요소 값을 순차적으로 곱하여, 순차적으로 더해나감
        }
        return answer;
    }
}

 

[다른사람의 풀이]

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

 

정리

- 내적은 벡터의 방향이 얼마나 일치하는지를 알기 위한 용도나 내적을 이용해 길이를 정의할 수 있음

- IntStream.range0에서 a.length 전까지 범위를 형성하여 변수 index에 담아 연산후 map 메서드를 통해 요소를 값으로 변환함

- 상황에 따라 stream으로 코드를 짰을때 간결하고 가독성이 좋을 수 있지만,

   대체적으로 성능상 속도도 느리고, 부수적인 조건이 추가 되는 경우 더 지저분해질 수 있다.

 

개인피셜 난이도 : ★☆☆☆☆ (사실 블로그 하는게 부끄러울 정도의 난이도...)

이 정도의 난이도도 기록을 해야하나 싶다가도, 다른 사람들의 소스 참고를 위해 모든 기록을 남겨본다 ㅎㅎㅎ

728x90
반응형