본문 바로가기
프로그래머스 C++/Level.1

프로그래머스 Level.1 음양 더하기

by yeni_0224 2023. 11. 12.
728x90
반응형

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

 

문제 초기 화면에 int answer = 123456789;

이렇게 정의되어있길래 이걸 왜 이렇게 한거지? 하고 약간의 혼란이 있었다. 그래서 그냥 0으로 초기화 시키고 문제를 풀어나갔다.

 

배열 absolutes의 배열 인덱스 값이 양수인지 음수인지 signs 배열의 각 인덱스에 정의되어있다.

그렇게 정의된 값들의 합을 구하라는 문제이다.

그래서 음수만 조건문 안에 -1을 곱해주고, 배열 인덱스의 값들을 모두 더해주는 것으로 문제를 풀었다.

#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] == false){
            absolutes[i] *= -1;
        }
        answer += absolutes[i];
    }
    return answer;
}

 

다른 분들은 123456789 정의된 answer을 가지고 어떻게 해결했는지 궁금해 다른 분들의 문제풀이를 찾아보았다.

하지만 다들 0으로 초기화 하거나 다른 변수를 0으로 만들어 풀어간 듯 하다.

프로그래머스가 만든 낚시인가 싶다.

 

괘씸하다! ㅋㅋㅋㅋㅋㅋㅋ

728x90
반응형