[프로그래머스] Java 코딩테스트 Lv.1 - 없는 숫자 더하기

yihyun·2025년 4월 24일

코딩테스트

목록 보기
73/105
post-thumbnail

없는 숫자 더하기

✅ 문제 설명

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

✅ 제한사항

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

🔽 소스코드

💻 풀이

  • 숫자의 범위는 0~9이기 때문에 최대한 비교를 적게 하기 위해 오름차순으로 정렬을 먼저 해준다.
  • 이후 반복문을 수행하면서 boolean 값으로 i와 동일한 값이 배열에 존재할 경우 booleanture 로 바꿔주고 break 로 2중 for문을 종료해준다.
  • 이후 바깥 for문에서는 boolean 값이 false일 경우에만 수를 더해준다. (배열에 없다는 의미이므로)

시간 0.32ms ~ 0.48ms

    public int solution(int[] numbers) {
        Arrays.sort(numbers);
		int sum = 0;
		
		for(int i = 0; i <= 9; i++) {
			boolean isNum = false;
			for(int j = 0; j < numbers.length; j++) {

				if(i == numbers[j]) {
					isNum = true;
					break;
				}
			}
			
			if(!isNum) {
				sum += i;
			}
		}
		
		
		return sum;
    }
profile
개발자가 되어보자

0개의 댓글