using System;
public class Solution {
public int solution(int[] numbers) {
int answer = -1;
return answer;
}
}
using System;
public class Solution
{
public int solution(int[] numbers)
{
int answer = -1;
int sum = 0;
for (int i = 0; i < 10; i++) // 0 ~ 9 돌기
{
bool hasNum = false;
for (int j = 0; j < numbers.Length; j++)
{
if (i == numbers[j])
{
hasNum = true;
break;
}
}
if (!hasNum)
{
sum += i;
}
}
answer = sum;
return answer;
}
}
오랜만에 (개인적으로) 해결하기 까다로웠던 문제를 만났다.
의도한대로 잘 풀리지 않아서 다른 분들의 풀이 찬스를 참고하여 수정했다.
조심하자 :
// bool 변수 선언 위치
// if 문의 위치 (for 문 안에 들어갈지 밖에 있을지)
그리고 다른 풀이들을 참고하면서,
문제의 제한사항을 보면
int[] numbers 의 원소는 0 에서 9 사이고, 원소들은 서로 다르기 때문에 다음과 같은 풀이로도 해결 가능하다는 것을 배웠다.
using System;
public class Solution
{
public int solution(int[] numbers)
{
int answer = -1;
int addOneToNine = 0;
int sumIntArr = 0;
for(int i = 0; i < 10; i++)
{
addOneToNine += i;
}
foreach (int num in numbers)
{
sumIntArr += num;
}
answer = addOneToNine - sumIntArr;
return answer;
}
}