Algorithm/Programmers

[Python] 음양 더하기

느낌표 공장장 2021. 5. 20. 22:04
def solution(absolutes, signs):
    answer = 0
    
    for num, sign in zip(absolutes, signs) :
        if sign :
            answer += num
        else :
            answer += -num
            
    return answer

 


풀이

zip 함수를 이용한다면 간단하게 풀 수 있는 문제이다.

 

✔︎ zip 함수 : 동일한 개수로 이루어진 자료형을 묶어 주는 역할을 하는 함수이다.

>>> list(zip([1, 2, 3], [4, 5, 6]))
[(1, 4), (2, 5), (3, 6)]

>>> list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9]))
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

for문을 이용한다면 튜플을 하나씩 반환하고, 해당 튜플의 값을 for문에서 선언한 변수에 각각 할당한다.

 

 

* 참고할만한 다른 분의 풀이

def solution(absolutes, signs):
    return sum(absolutes if sign else -absolutes for absolutes, sign in zip(absolutes, signs))

반복문, 조건문, zip함수 활용은 같으나 sign이 False이면 -를 붙여 반환하고, 반환한 값들을 sum함수를 이용해 한꺼번에 더해준다.

'Algorithm > Programmers' 카테고리의 다른 글

[Python] 예산  (0) 2021.05.20
[Python] 기능개발  (0) 2021.05.20
[Python] 폰켓몬  (0) 2021.05.20
[Python] 문자열 압축  (0) 2021.05.20
[Python] 내적  (0) 2021.05.18