Algorithm/Programmers lv.1
[프로그래머스] 음양 더하기(zip함수)
채소기
2024. 7. 7. 13:52
https://school.programmers.co.kr/learn/courses/30/lessons/76501
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
단순 반복문과 조건문으로 구현했다. 조건문은 삼항연산자로 작성하여 최대한 코드의 간결성을 유지했다.
def solution(absolutes, signs):
sum = 0
for i in range(len(absolutes)):
sum = sum + absolutes[i] if signs[i] == True else sum - absolutes[i]
return sum
다른사람들의 풀이도 몇가지 가져와봤다.
우선 대부분의 사람들은 다음과 같이 풀이했다.
def solution(absolutes, signs):
answer=0
for absolute,sign in zip(absolutes,signs):
if sign:
answer+=absolute
else:
answer-=absolute
return answer
zip함수라는걸 옛날에 써본 적은 있었는데 오랜만에 코딩테스트 준비를 하다보니 잊고 있었다. zip함수에 대한 설명은 다음의 게시글에서 확인하자.
https://vegetableworld.tistory.com/manage/posts/
Tistory
좀 아는 블로거들의 유용한 이야기
www.tistory.com
다음은 한줄풀이다. 굉장히 pythonic한 코드니 참고하자.
def solution(absolutes, signs):
return sum(absolutes if sign else -absolutes for absolutes, sign in zip(absolutes, signs))