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 |