https://school.programmers.co.kr/learn/courses/30/lessons/76501
단순 반복문과 조건문으로 구현했다. 조건문은 삼항연산자로 작성하여 최대한 코드의 간결성을 유지했다.
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/
다음은 한줄풀이다. 굉장히 pythonic한 코드니 참고하자.
def solution(absolutes, signs):
return sum(absolutes if sign else -absolutes for absolutes, sign in zip(absolutes, signs))
'Algorithm > Programmers lv.1' 카테고리의 다른 글
[프로그래머스] 나누어 떨어지는 숫자 배열 (0) | 2024.07.07 |
---|---|
[프로그래머스] 없는 숫자 더하기 (0) | 2024.07.07 |
[프로그래머스] 콜라츠 추측 (0) | 2024.07.06 |
[프로그래머스] 서울에서 김서방 찾기(format, index, return문에서 문자열과 정수를 함께 쓰는법) (0) | 2024.07.06 |
[프로그래머스] 나머지가 1이 되는 수 찾기 (0) | 2024.07.06 |