문제 설명
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
나의 풀이
def solution(absolutes, signs):
sign = list(map((lambda x: 1 if x else -1), signs))
return sum([a*b for a, b in zip(absolutes, sign)])
이전 코딩테스트를 풀면서 잘 사용하지 않았었던 zip(), map(), lambda 함수를 이용해 문제를 풀이해보았다. 이는 코드 한 줄로 더 간단히 구현할 수 있다.
# 다른 사람의 풀이
def solution(absolutes, signs):
return sum(absolutes if sign else -1 * absolutes for absolutes, sign in zip(absolutes, signs))
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/76501
'Algorithm > Daily Coding Tests Challenge' 카테고리의 다른 글
[프로그래머스 코딩테스트] lv1. 소수 구하기 (0) | 2021.07.30 |
---|---|
[프로그래머스 코딩테스트] lv1. 키패드 누르기 (0) | 2021.07.30 |
[프로그래머스 코딩테스트] lv1. 신규 아이디 추천 (0) | 2021.07.29 |
[프로그래머스 코딩테스트] lv.1 크레인 인형 뽑기 게임 (0) | 2021.07.29 |
[프로그래머스 코딩테스트] lv1. 내적 (0) | 2021.07.29 |