개발자일걸요..?

음양 더하기 본문

알고리즘코딩/Programmers

음양 더하기

Re_A 2021. 7. 24. 21:48
728x90
반응형

링크 : https://programmers.co.kr/learn/courses/30/lessons/76501

 

코딩테스트 연습 - 음양 더하기

어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re

programmers.co.kr

(프로그래머스>코딩테스트 연습>월간 코드 챌린지2 > 음양더하기(level1))

 


 

<문제>

 

어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.

 


 

<내가 작성한 코드>

 

def solution(absolutes, signs):
    answer = 0
    for i in range(0, len(absolutes)):
        if(signs[i]==False):
            absolutes[i] = -1*absolutes[i]
        answer+= absolutes[i]
    return answer

 

 

<다른 사람의 코드를 참고하여 작성한 코드>

answer = 0
answer = sum(pair[0] if pair[1] else -1*pair[0] for pair in zip(absolutes, signs))
print(answer)

 

 


 

<참고한 개념>

 

zip() : 여러 개의 iterable한 객체를 인자로 받아 객체가 가지고 있는 원소를 터플 형태로 차례로 접근할 수 있게 하는 iterator를 반환하는 함수(2개 이상의 인자도 가능) ↔ unzip()

fruit = ["apple", "lemon", "melon"]
price = [500,400,800]
for pair in zip(fruit, price):
	print(pair)
   
#결과값
#('apple', 500)
#('lemon', 400)
#('melon', 800)
반응형

'알고리즘코딩 > Programmers' 카테고리의 다른 글

3진법 뒤집기  (0) 2021.07.25
소수 만들기  (0) 2021.07.24
문자열 다루기  (0) 2021.07.24
두 개 뽑아서 더하기  (0) 2021.07.24
로또의 최고 순위와 최저 순위  (0) 2021.07.24
Comments