프로그래머스
1. 내적
def solution(a, b):
answer = 0
for i in range(len(a)):
answer += a[i]*b[i]
return answer
# zip() 이용 다른 사람 풀이
def solution(a,b):
for x,y in zip(a,b):
answer+=(x*y)
return answer
# zip()과 리스트컴프리헨션 이용 다른 사람 풀이
def solution(a,b):
answer = [x*y for x,y in zip(a,b)]
return sum(answer)
a 배열의 길이를 구해서 for문으로 i를 돌린다.
a 배열과 b 배열의 길이는 같으니까, 나온 i 값을 a[i], b[i] 처럼 인덱싱에 써주고, 곱해준다.
그것을 answer에 넣으면서 sum 값을 가진다.
def solution(absolutes, signs):
answer = 0
for i in range(len(signs)):
if signs[i] == True:
answer += absolutes[i] * 1
else:
answer += absolutes[i] * -1
return answer
1번과 비슷한 문제. signs의 true, false 는 bool 값이다.
마찬가지로 len(signs)로 길이를 구하고 for문으로 돌린다.
만약에 signs[i]가 True라면, 양수로 *1을 해준다.
아니라면, 음수로 -1을 곱해준다.
# try, except 활용 다른 사람 풀이
def solution(s):
if len(s) not in (4, 6):
return False
try:
int(s)
return True
except:
return False