얼렁뚱땅 개발 블로그

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

코딩테스트/프로그래머스

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

김경원0519 2021. 4. 22. 22:06
반응형

문제

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

 

입출력 예시

absolutes signs result
[ 4, 7, 12 ] [ true, false, true ] 9
[ 1, 2, 3 ] [ false, true, false ] 0

 

풀이

1. signs true, false의 의미

  • true : absolutes 양수
  • false : absolutes 음수

2. absolutes 요소와 signs 요소 비교

3. answer에 값을 더함

 

코드

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// absolutes_len은 배열 absolutes의 길이입니다.
// signs_len은 배열 signs의 길이입니다.
int solution(int absolutes[], size_t absolutes_len, bool signs[], size_t signs_len) {
    int answer = 0;

    for (int i = 0; i < absolutes_len; i++) {
        answer += signs[i] ? absolutes[i] : -absolutes[i];
    }
    return answer;
}
반응형
Comments