This is a blog.

없는 숫자 더하기 본문

RECORD/Programmers

없는 숫자 더하기

Calcot 2023. 3. 24. 01:19

문제 설명


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

제한사항

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

 

입출력 예

numbers result
[1,2,3,4,6,7,8,0] 14
[5,8,4,0,6,7,9] 6


입출력 예 설명


입출력 예 #1

  • 5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다.

입출력 예 #2

  • 1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다.

 

 

 

내가 푼 답 - Java

import java.util.Arrays;
import java.util.ArrayList;

class Solution {
    public int solution(int[] numbers) {

        int answer = 0;
        
        ArrayList<Integer> list = new ArrayList<>(numbers.length);
        
        for(int num : numbers)
            list.add(num);      
        
        
        for(int i=0; i<10; i++){
            
            if(!list.contains(i))
                answer += i;
            
        }
        
        return answer;
    }
}

 

 

 

#다른 사람의 풀이 - Java

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

 

 

 

코딩테스트 후기

 

1) int[]에서 contains()을 사용하려면 List로 변경해야 한다.

2) #다른 사람의 풀이 => numbers은 0-9까지만 주어지니까 언제나 총합은 45다. 때문에 반복문을 돌려서 배열 안에 숫자대로 빼주면 답이 나온다. 해당 풀이에 '이 맛에 다른 사람 풀이를 보지'라는 댓글이 달려있었는데 심히 공감됐다.

 

'RECORD > Programmers' 카테고리의 다른 글

수박수박수박수박수박수?  (0) 2023.03.24
가운데 글자 가져오기  (0) 2023.03.24
제일 작은 수 제거하기  (0) 2023.03.23
음양 더하기  (0) 2023.03.23
핸드폰 번호 가리기  (0) 2023.03.23
Comments