문제 설명
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
입출력 예
absolutes | signs | result |
[4,7,12] | [true,false,true] | 9 |
[1,2,3] | [false,false,true] | 0 |
나의 아기같은 코드
def solution(absolutes, signs):
answer = 0
sum_list = []
# signs 값 판별 (T/F)
for k,v in enumerate(signs) :
if v == True :
# True이면 값을 리스트에 저장
sum_list.append(absolutes[k])
else :
# False이면 값에 -1을 곱해서 리스트에 저장
sum_list.append(absolutes[k]*-1)
# 리스트 sum해주기
answer = sum(sum_list)
return answer
구경하다 가져온 고수의 코드
def solution(absolutes, signs):
answer = int()
for value, positive in zip(absolutes, signs):
answer += value if positive else -value
return answer
zip으로 positive 를 구분해서 value에 -만 붙여준게 참 깔끔하다
나도 처음에는 zip으로 시도했으나 아직 딕셔너리에 약해서 ㅎㄸㅎㄸ코드로 썻다
딕셔너리의 장인이 되자!
'코딩테스트 > python' 카테고리의 다른 글
[프로그래머스 고득점 kit] 해시 - 전화번호 목록 (0) | 2023.08.30 |
---|---|
[프로그래머스 고득점 kit] 해시 - 완주하지 못한 선수 (0) | 2023.08.29 |
프로그래머스 lv1 없는 숫자 더하기 (0) | 2023.08.25 |
프로그래머스 lv1 추억 점수 (2) | 2023.08.25 |
프로그래머스 lv1 달리기 경주 (3) | 2023.08.25 |