어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
def solution(absolutes, signs):
for i in len(absolutes):
match = dict(absolute[i]=signs[i])
if absolute[i] = False:
absolute[i] = absolute[i] * (-1)
i+=1
answer =
return answer
최근에 공부한 내용이 dictonary라서 사용해보려고 했으나 실패했다.
def solution(absolutes, signs):
answer = 0
for i in len(signs):
if signs[i] == False:
answer += absolute[i] * (-1)
else:
answer += absolute[i]
i+=1
return answer
dictonary는 필요가 없다고 생각하여 for과 if문으로만 작성해보았다.
Typeerror가 발생했다. 처음 for문의 len(signs)에서 문제가 발생하는것 같아서 고민해보았다.
def solution(absolutes, signs):
answer = 0
for i in range(len(signs)):
if signs[i] == False:
answer += absolutes[i] * (-1)
else:
answer += absolutes[i]
i+=1
return answer
range함수를 추가하고 실행하니 잘 작동이 되었다.
range 함수 : for문과 함께 자주 사용되는 함수로 입력받은 숫자에 해당하는 범위의 값을 반복 가능한 객체로 만들어 리턴해준다.
def solution(absolutes, signs):
return sum(absolutes if sign else -absolutes for absolutes, sign in zip(absolutes, signs))
문제를 한 줄로 풀어버리는 대단하신 분들...
함수 4가지를 한줄에 넣을 수 있다는 점이 인상깊었다.
다음시간에는 처음보는 함수 zip에 대해서 공부해야겠다.