Binary Journey

[프로그래머스] 음양 더하기 본문

프로그래머스/level 1

[프로그래머스] 음양 더하기

binaryJournalist 2021. 11. 7. 22:52
반응형

 

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

 

 

 

** Javascript

 

1) 맨 처음 제출한 풀이

 

function solution(absolutes, signs) {
    let answer = 0;
    for (const index in signs) {
        if (!signs[index]) {
            absolutes[index] = absolutes[index] * -1;
        }
        answer += absolutes[index]
    }
    return answer;
}

 

2) 다시 푼 풀이

 

function solution(absolutes, signs) {
    return signs.reduce((acc, curr, index) => {
        acc += (curr) ? absolutes[index] : -1 * absolutes[index];
        return acc;
    }, 0);
}

 

 

** Python

 

 

1) zip 사용 몰랐을 때

 

def solution(absolutes, signs):
    answer = 0
    for i, s in enumerate(signs):
        answer += absolutes[i] if s else absolutes[i] * -1
    return answer

 

 

2) zip 사용 알게된 이후

 

def solution(absolutes, signs):
    answer = 0
    for a, s in zip(absolutes, signs):
        answer += a if s else a * -1
    return answer

 

 

** Java

 

class Solution {
    public int solution(int[] absolutes, boolean[] signs) {
        int answer = 0;
        for (int i = 0; i < signs.length; i++) {
            answer += signs[i] ? absolutes[i] : -1 * absolutes[i];
        }
        return answer;
    }
}
반응형