문제풀이/프로그래머스

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

Hyeon-Uk 2021. 5. 14. 23:07
반응형

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

 

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

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

programmers.co.kr


 

-풀이-

absolutes배열을 순차적으로 탐색하며, 해당 인덱스의 signs[i] 가 true이면 answer에 absolutes[i]값을 더해주고, 아니면 answer에 absolutes[i] 값을 빼주면 된다.

 

-시간복잡도-

absolutes 배열의 길이를 N이라고 한다면, absolutes배열을 한번만 탐색하므로 O(N)이 된다.

 

-코드-

#include <string>
#include <vector>

using namespace std;

int solution(vector<int> absolutes, vector<bool> signs) {
    int answer =0;
    
    for(int i=0;i<absolutes.size();i++){
        if(signs[i]){
            answer+=absolutes[i];
        }
        else{
            answer-=absolutes[i];
        }
    }
    return answer;
}
반응형