본문 바로가기
Programmers/C++

[C++] 프로그래머스 :: 없는 숫자 더하기

by Sin_ 2021. 10. 7.
728x90

안녕하세요 뚜디 입니다 :)

코딩테스트 연습 - 없는 숫자 더하기 | 프로그래머스 (programmers.co.kr)

 

코딩테스트 연습 - 없는 숫자 더하기

0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한

programmers.co.kr

< 프로그래머스 - 없는 숫자 더하기 (LV1) >


1. 연습 문제

2. 문제 풀이

3. 소스 코드

4. 결과


1. 연습 문제
  • 문제 설명
0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. 
numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
  • 제한 조건
1 ≤ numbers의 길이 ≤ 9
0 ≤ numbers의 모든 수 ≤ 9
numbers의 모든 수는 서로 다릅니다.
  • 입출력 예
numbers result
[1,2,3,4,6,7,8,0] 14
[5,8,4,0,6,7,9] 6

 

2. 문제 풀이
입출력 예 #1
5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다.
입출력 예 #2
1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다.

1. 문제 설명에서 0~9까지 없는 숫자를 찾아 더하는 문제이므로 최대 MAX값은 45이다.
2. 임의로 입력받은 벡터 numbers의 인자값을 모두 더한다.
3. 벡터 numbers의 모든 값을 더한값과 MAX(45)의 차이를 리턴한다.

 

3. 소스 코드
#include <string>
#include <vector>

using namespace std;

int solution(vector<int> numbers) {
    int answer = 0;
    int max = 45;

    for (int i = 0; i < numbers.size(); i++) {
        answer += numbers[i];
    }

    return max - answer;
}

 

4. 결과

728x90