Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- db
- 자바 로그 레벨
- Java
- 컬렉션 인터페이스
- 스프링 부트3
- GIT
- WinError5
- URI 원칙
- oracle
- Selenium
- h2 데이타베이스
- 알고리즘
- 사이킷런 회귀
- 스프링 부트
- 컬렉션 프레임웍
- 자바 열거형
- 오라클
- 머신러닝
- 프로그래머스
- streamlit
- 완주하지못한선수
- 셀레니움
- 파이썬
- 사이킷런
- conda remove
- openai
- REST API
- Python
- 차원증가
- 쓰레드 풀
Archives
- Today
- Total
노트 :
[프로그래머스] 내적 본문
https://school.programmers.co.kr/learn/courses/30/lessons/70128
[문제 설명]
길이가 같은 두 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 |
[내가 푼 방법]
def solution(a, b):
answer = 0
for i in range(len(a)):
answer += a[i]*b[i]
return answer
정수배열 a의 길이가 b와 같으므로, a의 길이만큼 for문을 돌려서 원하는 결과값을 얻었다.
[마음에 든 방법]
def solution(a, b):
return sum([a * b for a, b in zip(a, b)])
zip함수 및 lambda식을 이용해서 깔끔하고 한 눈에 들어오는 함수를 완성하였다.
for문을 돌리는 것보다 이 방식이 효율성 측면에서도 좋다.
'Algorithm' 카테고리의 다른 글
선택 정렬 (Selection Sort) (0) | 2023.05.18 |
---|---|
[알고리즘] 알고리즘 설계 기법 (1) | 2023.02.02 |
[프로그래머스] 완주하지 못한 선수2 (0) | 2022.10.03 |
[프로그래머스] 완주하지 못한 선수 (0) | 2022.09.30 |
[프로그래머스] 문자열 다루기 기본 (0) | 2022.09.28 |