비트를 쪼개는 개발자

allen321@naver.com

코딩테스트

C# [프로그래머스] Lv.1 없는 숫자 더하기

MozarTnT 2024. 2. 19. 21:02
728x90
반응형

 

간단하게 0부터 9까지의 숫자 를 가지고 있는 정수 배열을 받아 온 뒤

 

이 배열 안에서 0부터 9 까지 중의 숫자 중 없는 숫자를 찾고

 

이 숫자들을 더한 answer을 받아오면 되는 문제.

 

 

 

처음 구상은 0 부터 9까지의 숫자를 가진 List를 만들고 

 

numbers[]에 들어있는 원소들과 비교해서 없는 숫자들을 모은 List를 하나 더 만들어서

 

이 List의 총합을 더하는 방식으로 구상했다.

 

 

 

 

그러나 구현중에 조금 더 쉽게 풀 수 있는 생각이 들었는데,

 

 

어차피 0부터 9까지의 총 합은 45로 고정이고 

 

제한사항을 읽어보니 numbers의 원소들은 같은 값이 나오지 않는다고 하니

 

그냥 numbers를 전부 더해서 45에서 빼주는 방법이 더 쉬워보였다.

 

 

public class Solution
{
    public int solution(int[] numbers)
    {
        int answer = 0;
        int sum = 0;

        List<int> numbers_list = new List<int>();
        List<int> ten_list = new List<int>();

        for(int i = 0; i <= 9; i ++)
        {
            ten_list.Add(i); // 0부터 9까지의 원소를 가진 리스트.
        }

        numbers_list = numbers.ToList(); // number 배열을 받아올 리스트
        numbers_list.Sort();
        ten_list.Sort();

        for(int i = 0; i < numbers_list.Count; i ++)
        {
            sum += numbers_list[i];
        }

        answer = 45 - sum;
        return answer;
    }
}

 

 

728x90
반응형