본문 바로가기
코딩테스트/자바 Level 1

[Java] 없는 숫자 더하기

by onggury 2023. 8. 4.

문제

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

 

 

제한사항

  • 1 ≤ numbers의 길이 ≤ 9
    • 0 ≤ numbers의 모든 원소 ≤ 9
    • numbers의 모든 원소는 서로 다릅니다.

 

class Solution {
    public int solution(int[] numbers) {
        int answer = 0;
        int[] numberArr = new int[10];
        
        for(int num : numbers) {
            numberArr[num]++;
        }
        
        for(int i = 0; i <= 9; i++) {
            if(numberArr[i] == 0) { answer += i; }
        }
        
        return answer;
    }
}

이거 왜 이렇게 빙 돌아가서 해결했나 싶었다.

 

다른사람 풀이는 어떤가 싶어서 봤는데 나만 이렇게 해결한 것 같았다.

class Solution {
    public int solution(int[] numbers) {
        
        int answer = 45;
        
        for(int num : numbers) {
            answer -= num;
        }
        
        return answer;
    }
}

왜 난 이 생각을 못했을까...

 

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/86051