Coding Test

[Python 프로그래머스] 음양 더하기

hyungminjeon 2024. 6. 14. 14:59

[문제]

[해결]

def solution(absolutes, signs):
    answer = 0
    for absolute, sign in zip(absolutes,signs):
        if sign == False:
            absolute *= -1
        answer += absolute
    return answer

[정리 및 새롭게 알게 된 점]

1. zip 함수를 써 absolutes 와 sign 배열을 함께 for loop 시킨 뒤

2. sign의 원소가 False 인 경우, absolute에 -1을 곱해주고

3. answer에 absolute값을 더해주었다.

 

[다른 풀이]

def solution(absolutes, signs):
    return sum(absolute if sign==True else absolute*-1 for (absolute, sign) in zip(absolutes,signs))

위와 같이 if else 와 for loop을 한문장으로 쓰고 sum함수로 묶어주면 보다 짧은 코드로 답을 작성할 수 있다.