Algorithms/- 프로그래머스

프로그래머스 - 없는 숫자 더하기 [자바]

자굿 2022. 1. 30. 22:23
 

코딩테스트 연습 - 없는 숫자 더하기

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

programmers.co.kr

 

정답

import java.util.*;

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

        /*

            numbers에 없는 숫자 모두 더해서 리턴

        */

        int[] pickNumbers = {0,1,2,3,4,5,6,7,8,9};

        //정렬하고
        Arrays.sort(numbers);
        for(int pick : pickNumbers){
            int searchResult = Arrays.binarySearch(numbers, pick);

            if(searchResult < 0){
                answer += pick;
            }

        }


        return answer;
    }
}

 

분석

  • 정렬 후 바이너리 서치하여 음수(해당 숫자 없음)인 경우만 더했는데
  • 다른사람의 풀이를 보니까 그냥 45에서 모두 빼는 방법도 있다.
반응형