coding test - python/Programmers

Programmers / 음양 더하기 / Python

sillon 2022. 4. 1. 15:50
728x90
반응형

 

*문제 출처는 프로그래머스에 있습니다.

문제 제목: 음양 더하기

문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/76501


나의 풀이

def solution(absolutes, signs):
    for i in range(len(absolutes)):
        if signs[i] == True:
            pass
        else:
            absolutes[i] *= (-1)          
    return sum(absolutes)

 

다른 풀이

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

 

zip함수란?

zip(*iterable)은 동일한 개수로 이루어진 자료형을 묶어 주는 역할을 하는 함수이다.

따라서 반복 가능한 자료를 짝으로 묶어주는 함수이다.

>>> 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)]
>>> list(zip("abc", "def"))
[('a', 'd'), ('b', 'e'), ('c', 'f')]

 


※ 알아야 할 것

- zip함수를 이용해 반복해보자

728x90
반응형