내적, 두 정수 사이의 합

Jamie·2022년 3월 3일
0
post-thumbnail

내적

📚문제

문제 설명
길이가 같은 두 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 이하입니다.
입출력 예
a b result
[1,2,3,4] [-3,-1,0,2] 3
[-1,0,1] [1,0,-1] -2
입출력 예 설명
입출력 예 #1

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

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

💡풀이

function solution(a, b) {
    // 반복문을 돌려서 a의 i번쨰 요소와 b의 i번째 요소를 곱해서 answer에 더한다

    let answer = 0;
    for (let i = 0; i < a.length; i++) {
        answer = answer + a[i] * b[i];
    }
    return answer;
}

✅ 두 배열에서 같은 인덱스에 속하는 요소끼리 곱하는 문제로 반복문을 통해 간단하게 해결했다.

두 정수 사이의 합

📚문제

문제 설명
두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.

제한 조건
a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.
a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.
a와 b의 대소관계는 정해져있지 않습니다.
입출력 예
a b return
3 5 12
3 3 3
5 3 12

💡풀이

function solution(a, b) {
    // a와 b가 같을 경우 a를 리턴한다
    // a가 b보다 클 경우 b부터 1씩 더하면서 i를 더해준다
    // b가 a보다 클 경우 a부터 1씩 더하면서 i를 더해준다
    // 반복문을 다 돌면 합을 리턴한다

    var answer = 0;

    if (a === b) {
        return a;
    } else if (a > b) {
        for (let i = b; i <= a; i++) {
            answer = answer + i;
        }
    } else {
        for (let i = a; i <= b; i++) {
            answer = answer + i;
        }
    }
    return answer;
}

✅ 두 수 사이에 있는 수의 합을 구하는 문제로 a가 b보다 클 경우, b가 a보다 클 경우 이 두가지 경우를 구분해 반복문을 돌려서 간단하게 풀었다.

profile
공부하고 비행하다 개발하며 여행하는 frontend engineer

0개의 댓글