코딩테스트/Programmers

음양 더하기 (C++)

동띵 2021. 10. 6. 00:34

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

 

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

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

programmers.co.kr

#include <string>
#include <vector>

using namespace std;

int solution(vector<int> absolutes, vector<bool> signs) {
    int answer = 0;
    vector<int> v;
    
    for (int i = 0; i < absolutes.size(); i++) {
        int tmp = 0;
        if (signs[i] == true) {
            tmp = absolutes[i];
        } else {
            tmp = absolutes[i]*-1;
        }
        v.push_back(tmp);
    }
    for (int i = 0; i < v.size(); i++) {
        answer += v[i];
    }
    return answer;
}

 

벡터 v를 생성한 후

for 문을 사용하여 해당 인덱스의 signs 값이 true면 absolutes 값 그대로를,

true가 아니면 (false) absolutes 값에 -1을 곱한 수를 v에 넣어주었다.

 

그다음 for 문을 사용하여 answer에 v의 원솟값을 다 더해주었다.