문제 설명
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
제한사항
- absolutes의 길이는 1 이상 1,000 이하입니다.
- absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.
- signs의 길이는 absolutes의 길이와 같습니다.
- signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.
입출력 예
absolutes | signs | result |
[4,7,12] | [true,false,true] | 9 |
[1,2,3] | [false,false,true] | 0 |
입출력 예 설명
입출력 예 #1
- signs가 [true,false,true] 이므로, 실제 수들의 값은 각각 4, -7, 12입니다.
- 따라서 세 수의 합인 9를 return 해야 합니다.
입출력 예 #2
- signs가 [false,false,true] 이므로, 실제 수들의 값은 각각 -1, -2, 3입니다.
- 따라서 세 수의 합인 0을 return 해야 합니다.
나의 풀이
def solution(absolutes, signs):
answer = 0
for i in range(0, len(absolutes), 1):
if signs[i] == True:
answer = answer + absolutes[i]
else:
answer = answer - absolutes[i]
return answer
absolutes = [ 4, 7, 12]
signs = [True, False, True]
print(solution(absolutes, signs))
저는 간단하게 if else 문을 사용해서 풀이해 봤습니다.
절대값과 부호값을 파라미터로 받고 부호가 True, False 여부에 따라 더하고 빼주는 간단한 함수로 해결했습니다.
다른 분들의 풀이를 보니 zip함수를 사용하여 보다 짧은 코드로 작성한 풀이도 있었습니다. 활용해 보시면 좋을것 같습니다.
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 기능개발 (0) | 2021.09.25 |
---|---|
[프로그래머스] 없는 숫자 더하기 (0) | 2021.09.15 |
[프로그래머스] 2021 KAKAO BLIND RECRUITMENT 메뉴 리뉴얼 (0) | 2021.09.03 |
[프로그래머스] 신규아이디 추천 (0) | 2021.09.03 |
[프로그래머스] 완주하지 못한 선수 (0) | 2021.09.01 |