[프로그래머스] 70128번 - 내적 [Java]

2026. 4. 10. 15:49·프로그래머스
 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 


 

 

문제

 

 

제출한 코드

1. 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;
    }
}

 

2. IntStream 사용

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();
    }
}

 

 

풀이

1. for문 사용

문제를 처음 봤을 때 가장 먼저 생각났던 방법은 for문을 사용하는 것이었다.

for문을 사용해서 i 의 값을 하나씩 늘려가면서 a[i] * b[i] 를 answer 에 계속 더한 후 return 하면 되는 간단한 문제이다.

 

2. IntStream 사용

이 방법은 다른 사람이 푼 방법을 보고 알게 된 방법이다.

IntStream은 java.util.stream 를 import 하여 사용할 수 있다.

 

IntStream에서는 range() 라는 메서드를 제공하는데, 이는 주어진 범위 내 순차적인 정수 스트림을 반환한다.

예를 들어, range(0, 10) 이라고 범위를 지정하면 0부터 9까지의 숫자를 Integer 타입으로 출력한다. 문제에서는 배열의 크기만큼 map을 해줘야 하기 때문에 range의 두 번째 인자에 a.length 값으로 두었다.

(문제에서 배열 a와 b의 길이는 동일하므로, b.length로 두어도 괜찮다.)

 

이후 map() 메서드를 사용했는데, 이는 주어진 함수를 스트림의 각 요소에 적용한 결과로 구성된 스트림을 반환해준다.

따라서 map(index -> a[index] * b[index]) 를 통해 각 배열의 같은 위치에 있는 요소들을 곱할 수 있다.

 

마지막으로 sum() 메서드를 사용해서 연산된 각 스트림의 요소들의 합을 반환받음으로써 단 한 줄만으로도 해당 문제를 해결할 수 있었다.

 

 

 

'프로그래머스' 카테고리의 다른 글

[프로그래머스] 12918번 - 문자열 다루기 기본 [Java]  (0) 2026.04.15
[프로그래머스] 82612번 - 부족한 금액 계산하기 [Java]  (0) 2026.04.14
[프로그래머스] 12917번 - 문자열 내림차순으로 배치하기 [Java]  (0) 2026.04.13
[프로그래머스] 77884번 - 약수의 개수와 덧셈 [Java]  (0) 2026.04.10
[프로그래머스] 12922번 - 수박수박수박수박수박수? [Java]  (0) 2026.04.08
'프로그래머스' 카테고리의 다른 글
  • [프로그래머스] 82612번 - 부족한 금액 계산하기 [Java]
  • [프로그래머스] 12917번 - 문자열 내림차순으로 배치하기 [Java]
  • [프로그래머스] 77884번 - 약수의 개수와 덧셈 [Java]
  • [프로그래머스] 12922번 - 수박수박수박수박수박수? [Java]
이서라다
이서라다
  • 이서라다
    개발일지
    이서라다
  • 전체
    오늘
    어제
    • 전체 보기 (79)
      • 내일배움캠프 (21)
        • TIL (21)
      • 프로그래머스 (23)
      • Algorithm (2)
      • BackEnd (0)
        • Spring (0)
      • Language (4)
        • JAVA (4)
      • Git (2)
      • 백준 - Java (25)
        • 입출력과 사칙연산 (6)
        • 반복문 (8)
        • 1차원 배열 (1)
        • 문자열 (7)
        • 2차원 배열 (1)
        • 조합론 (1)
        • 정렬 (1)
      • IDE (1)
        • IntelliJ (1)
      • 티스토리 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    jdk삭제
    티스토리스킨
    내일배움캠프
    til
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이서라다
[프로그래머스] 70128번 - 내적 [Java]
상단으로

티스토리툴바