본문 바로가기
Algorithm/PROGRAMMERS[Java]

Lv1. 없는 숫자 더하기

by 씨니 2022. 4. 24.
728x90

▶ 문제

 

▶ 풀이방법

- 첫번째

import java.util.*;
class Solution {
    public int solution(int[] numbers) {
        int answer = 0;
        Arrays.sort(numbers);
        
        int index = 0;
        for(int i = 0; i < 10; i++){
            if(i != numbers[index]) answer += i;
            else index++;
            if(index > numbers.length-1) { //numbers인덱스값 넘어갈때
            	for(int j = i+1; j < 10; j++) {//확인되지않은 값 확인해서 더해주고
            		answer += j;
            	}
            	break;//stop
            }
        }
        return answer;
    }
}

 

- 두번째

import java.util.*;
class Solution {
    public int solution(int[] numbers) {
        int answer = 0;
        Arrays.sort(numbers);
        
        int num = 0;
        for(int i = 0; i < numbers.length; i++) { //numbers에 있는 인덱스의 값까지 모두 확인
        	if(numbers[i] != num) {
        		answer += num;
        		i--;
        	}
        	num++;
        }
        
        if(num < 10) {//numbers인덱스 이외의 10보다 작은 값 모두 더해줌.
        	while(num < 10) {
        		answer += num;
        		num++;
        	}
        }
        return answer;
    }
}

 

- 세번째(다른사람이 풀이한 방법, 너무 간단함,,,ㅋㅋㅋ)

import java.util.*;
class Solution {
    public int solution(int[] numbers) {
        int answer = 45; // 0~9까지의 모든 값의 합으로 초기화
        for(int l : numbers) answer -= l; //numbers배열에 값 있으면 빼주기
        return answer;
    }
}
728x90

'Algorithm > PROGRAMMERS[Java]' 카테고리의 다른 글

Lv1. 크레인 인형뽑기 게임[카카오]  (0) 2022.04.30
Lv1. 음양 더하기  (0) 2022.04.25
Lv1. 내적  (0) 2022.04.24
Lv1. 소수 만들기  (0) 2022.04.24
Lv1. 완주하지 못한 선수  (0) 2022.04.24