개발하는 체대생

[코딩테스트] 프로그래머스/Java(자바) 없는 숫자 더하기 본문

코딩테스트/JAVA

[코딩테스트] 프로그래머스/Java(자바) 없는 숫자 더하기

개발하는체대생

 

[문제]

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

 

[제한 조건]

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

 

[풀이]

//1. 배열을 정렬하기
//2. numbers 배열 안에 있는 모든 값을 더하기
//3. 0~9까지의 합을 구하기
//4. 0~9까지의 합에서 numbers배열의 합을 빼주기

나의 답안

import java.util.Arrays;

class Solution {
    public int solution(int[] numbers) {
        int answer = -1;
        int sum = 0; //숫자 합을 저장할 변수
        int sumTotal = 0;//0~9까지의 합을 저장
        
        Arrays.sort(numbers);					//1. 배열 안의 값을 오름차순으로 정렬
        
        
        for(int i = 0; i < numbers.length; i++) {//2. 배열의 길이만큼 for문으로 돌리기
            sum += numbers[i];					//2-1. numbers에 있는 모든 값 더하기	
        }
        for(int j = 0; j <= 9; j++){ //3. 0~9까지의 합 구하기 
            sumTotal += j;			
        }
        answer = sumTotal - sum;	//4. 0~9까지의 합에서 numbers의 합 빼주기	
        return answer;
    }
}

 

회고

- 배열 안의 값을 오름차순으로 정렬 해주는 함수 : Arrays.sort(정렬할 배열);

Comments