안녕하세요.
강렬한 스포트라이트 입니다!
하기의 문제를 Python 언어를 사용하여 구현하고자 합니다.
<문제 설명>
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 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) True면 양수이므로 1을 곱하고, False면 음수이므로 -1을 곱하여 구현한 코드입니다.
def solution(absolutes, signs):
for i in range(len(absolutes)):
if signs[i]==True: # if signs[i]: -> 해당 코드도 동일함
absolutes[i]*=1 #양수
else:
absolutes[i]*=-1 #음수
return sum(absolutes)
2) zip() 함수를 이용하여 for문에서 두 리스트를 사용하여 구현한 코드입니다.
def solution(absolutes, signs):
total=0
for absolutes, sign in zip(absolutes, signs):
if sign:
total+=absolutes
else:
total+=-absolutes
return total
해보시고 문의사항이 있으시면 댓글로 남겨주세요.´◡`
감사합니다!
반응형
SMALL
'PS > programmers' 카테고리의 다른 글
[Lv. 1] K번째수(Python) (0) | 2023.04.04 |
---|---|
[Lv. 1] 모의고사(Python) (0) | 2023.03.31 |
[LV. 1] 숫자 문자열과 영단어(Python) (1) | 2023.03.29 |
[Lv. 1] 콜라츠 추측(Python) (0) | 2023.03.28 |
[Lv. 1] 행렬의 덧셈(Python) (0) | 2023.03.27 |