86051 없는 숫자 더하기

알파로그·2023년 3월 12일
0

✏️ 문제 설명

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

✏️ 제한사항

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

✏️ 문제 풀이

맵을 사용해 0 ~ 9 까지의 값에 0을 입력해주고,

numbers 에 있는 값은 맵에 + 1 을 해주어서

2 진법으로 누락된 숫자를 구했다.

import java.util.*;

class Solution {
    public int solution(int[] numbers) {
        int answer = 0;
        
        Map<Integer, Integer> checker = new HashMap<>();

        for (int i = 0; i < 10; i++) checker.put(i, 0);
        for (int i = 0; i < numbers.length; i++) checker.put(numbers[i], 1);

        for (Map.Entry<Integer, Integer> i : checker.entrySet()) {
            if (i.getValue() == 0) answer += i.getKey();
        }
        return answer;
    }
}

✏️ 다른사람의 풀이

0 부터 9 까지의 모든 수를 다 더한 후,
number 의 값을 반복문으로 빼주었다.


아주 쉬운 방법이지만 이런 방법을 생각하기는 정말 쉽지않다.

기술적인 능력도 중요하지만 창의 적인 능력도 매우 중요한것같다.

class Solution {
    public int solution(int[] numbers) {
        int sum = 45;
        for (int i : numbers) {
            sum -= i;
        }
        return sum;
    }
}
profile
잘못된 내용 PR 환영

0개의 댓글