https://school.programmers.co.kr/learn/courses/30/lessons/70128
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
길이가 같은 두 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의 길이)
같은 위치의 배열끼리 곱하고 나온 수를 다 더해야 한다.
for 문으로 배열 위치를 돌리고 나온 결과들을 더해야겠다고 판단
임의로 해봤는데 결과가 안나온다 맞는거같은데???
하나씩 돌려보자
var a = [1, 2, 3, 4]
var b = [-3, -1, 0, 2]
var sum = 0
sum = sum + (a[0] * b[0])
console.log(sum);
-3이 잘나온다.
var a = [1, 2, 3, 4]
var b = [-3, -1, 0, 2]
var sum = 0;
for (var i = 0; i < a.length; i++) {
sum = sum + (a[i] * b[i])
}
console.log(sum);
for문까지 잘돌아서 원하는 결과인 3이 나온다.
function이 잘못되었나???
var a = [1, 2, 3, 4]
var b = [-3, -1, 0, 2]
function solution(a, b) {
var sum = 0;
for (var i = 0; i < a.length; i++) {
sum = sum + (a[i] * b[i])
}
console.log(sum);
}
이거는 안된다?? 근데 프로그래머스에는 출력이 나오긴하는데 콘솔에는 undefined
'undefined'라는 키워드는 해당 변수의 자료형이 정해지지 않았음을 나타냅니다.
function solution(a, b) {
var sum = 0;
for (var i = 0; i < a.length; i++) {
sum = sum + (a[i] * b[i])
}
return(sum);
}
찾다가 console.log를 return으로 바꾸니까 된다.
처음부터 맞았는데 헤맸다.
sum = sum + (a[i] * b[i])
sum += a[i] * b[i]
4번째줄을 += 을 사용하여 더 간단하게 줄일수있다
** 왜 console로 찍을때는 undefined가 나올까??
[자바스크립트] 크롬 콘솔창에 undefined가 나오는 이유
위 사진처럼 크롬 콘솔창에서 명령어들을 입력 하다보면 undefined가 계속해서 출력되는 현상을 본 경험이 있을 것이다.위 현상을 이해하기 위해서는 자바스크립트에서 표현식과 문에 대하여 이
velog.io
- 콘솔창에서는 표현식의 평가된 값을 반환하기 때문에 표현식이 아닌 문을 실행하였을 때 undefined를 반환한 것이다.
>https://www.codeit.kr/community/threads/3907 코드잇 답변 가져옴
콘솔 출력 해결 코드~~~
var a = [1, 2, 3, 4]
var b = [-3, -1, 0, 2]
function solution(a, b) {
var sum = 0;
for (var i = 0; i < a.length; i++) {
sum = sum + (a[i] * b[i])
}
return (sum);
}
console.log(solution(a, b));
function에 return으로 값을 지정해서 끝내고
console로 function을 출력해준다!
'코딩테스트' 카테고리의 다른 글
TIL - 프로그래머스 연습문제 : 두 정수 사이의 합 (0) | 2022.08.07 |
---|---|
TIL - 프로그래머스 연습문제 : 완수하지 못한 선수 (0) | 2022.08.07 |
TIL - 프로그래머스 연습문제 : 행렬의 덧셈 (0) | 2022.08.05 |
TIL - 프로그래머스 연습문제 : 가운데 글자 가져오기 (0) | 2022.08.05 |
TIL - 프로그래머스 연습문제 : 직사각형 별찍기 (0) | 2022.08.05 |