없는 숫자 더하기
이번엔 "없는 숫자 더하기" 문제를 다뤄보겠습니다. 해당 문제는 월간 코드 챌린지 시즌3에 출제되었던 문제입니다.
문제 설명
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 |
입출력 예 설명
입출력 예 #1
5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다.
입출력 예 #2
1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다.
시작 코드
using System;
public class Solution {
public int solution(int[] numbers) {
int answer = -1;
return answer;
}
}
나의 풀이
using System;
using System.Linq;
public class Solution
{
public int solution(int[] numbers)
{
int answer = 0;
for(int i=0;i<10;i++) { answer +=i; }
answer -= numbers.Sum();
return answer;
}
}
코드부터 살펴보겠습니다. int형 배열 numbers가 주어지며 시작됩니다. for문으로 0~10까지 i 값을 answer에 전부 더해줍니다. 그리고 numbers.Sum()을 통해 배열의 합을 구해주고 answer에서 그 값을 빼줍니다. 마지막으로 answer를 리턴해줍니다.
이번에는 간단히 해결할 수 있는 문제였습니다. 문제에서 요구하는 것은 numbers 배열에 존재하지 않는 0~9사이 수끼리 더한 값을 구하는 것이니 0~9사이의 모든 수를 더한다음, numbers배열의 합을 빼주면 되는 것입니다. Sum()은 합을 구할 때 사용하는 메서드입니다.
<NEXT>
오늘은 월간 코드 챌린지 시즌3 출제문제 중 하나인 "없는 숫자 더하기" 문제를 풀어보았습니다. 다음에는 "제일 작은 수 제거하기" 문제를 다뤄보도록 하겠습니다. 감사합니다.
'프로그래머스 코딩테스트 문제 > Level 1' 카테고리의 다른 글
[프로그래머스] - 가운데 글자 가져오기(C#) (0) | 2023.08.02 |
---|---|
[프로그래머스] - 제일 작은 수 제거하기(C#) (0) | 2023.08.01 |
[프로그래머스] - 핸드폰 번호 가리기(C#) (0) | 2023.07.30 |
[프로그래머스] - 음양 더하기(C#) (0) | 2023.07.29 |
[프로그래머스] - 나누어 떨어지는 숫자 배열(C#) (0) | 2023.07.28 |