프로그래머스 - 없는 숫자 더하기 (C#)

Leedong·2022년 7월 3일
0

programmers

목록 보기
4/18

문제 설명

정수형 배열 내 없는 숫자를 더한 값을 반환하는 문제입니다.

ex) [1,2,3,4,6,7,8,0] -> 14 (5 + 9)
ex) [5,8,4,0,6,7,9] -> 6 (1 + 2 + 3)

정수형 배열의 길이는 9 이하에 numbers의 모든 원소는 서로 다릅니다.

문제 풀이

0은 더하기를 할 필요가 없으니
숫자 1부터 9까지 numbers 배열에 포함되어 있지 않으면 answer에 추가시키는 방법이 있습니다.

하지만 더 빠른 방법을 찾을 수 있습니다.
numbers의 모든 원소는 서로 다르다는 조건을 보면 숫자가 중복되지 않는다는 것을 알 수 있습니다.

그럼 1부터 9까지 더한 값에서 numbers에 있는 숫자를 빼면 없는 숫자끼리 더한 값이 나옵니다.

제출 코드

using System;

public class Solution 
{
    public int solution(int[] numbers) 
    {
        int answer = 0;
        
        for (int i = 1; i <= 9; i++)
        {
            answer += i;
        }
        
        for (int i = 0; i < numbers.Length; i++)
        {
            answer -= numbers[i];
        }
        
        return answer;
    }
}
profile
Unity, C#

0개의 댓글