문제 설명
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
제한사항
- absolutes의 길이는 1 이상 1,000 이하입니다.
- absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.
- signs의 길이는 absolutes의 길이와 같습니다.
- signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.
내 풀이
def solution(absolutes, signs):
nums = []
for i in range(len(signs)):
if signs[i] == False :
signs[i] = -1
nums.append(int(signs[i])*absolutes[i])
return sum(nums)
다른사람 풀이
def solution(absolutes, signs):
res = []
for idx in range(len(signs)):
if signs[idx] == True:
res.append(absolutes[idx])
else:
res.append(-absolutes[idx])
return sum(res)
!= True 는 False니까 이렇게 했으면 굳이 곱셈 연산 없어도되니까 더 빠른 연산이 가능했을듯
'Python' 카테고리의 다른 글
lv.1 가운데 글자 가져오기 (0) | 2021.04.29 |
---|---|
lv.1 같은 숫자는 싫어 (0) | 2021.04.29 |
문자열 내 마음대로 정렬하기 (0) | 2021.04.29 |
python 기초 100제 (0) | 2021.04.28 |
Algorithm_최단경로 예제 (0) | 2021.01.23 |