NIRVANA
[level 1] 음양 더하기 본문
문제
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
문제 풀이 접근법1
1) 반복문을 돌면서 absolutes의 원소 중 signs이 false인 수를 음수로 바꾸어준다.
2) sum함수로 absolutes의 각 원소를 더한 뒤 값을 반환한다.
def solution(absolutes, signs):
answer = 123456789
for i in range(len(absolutes)):
if signs[i] == False:
absolutes[i] = 0 - absolutes[i]
answer = sum(absolutes)
return answer
다른 분들 풀이
def solution(absolutes, signs):
answer=0
for absolute,sign in zip(absolutes,signs):
if sign:
answer+=absolute
else:
answer-=absolute
return answer
zip함수 사용을 왜 생각 못했지?
그리고 sign이 true일 때와 false일 때 answer를 더하고 빼는 걸로 나누어서 푸는 것도 좋은 방법인 것 같다!
zip함수: https://chancoding.tistory.com/144
'Coding test(Python3) > Programmers' 카테고리의 다른 글
[level 1] 없는 숫자 더하기 (0) | 2023.07.12 |
---|---|
[level 1] 핸드폰 번호 가리기 (0) | 2023.07.11 |
[level 1]나누어 떨어지는 숫자 배열 (0) | 2023.07.11 |
[level 1] 서울에서 김서방 찾기 (1) | 2023.07.11 |
[level 1] 콜라츠 추측 (0) | 2023.07.10 |