알고리즘/문제 풀이
[Java 자바] 프로그래머스 > Lv.1 없는 숫자 더하기
_eunji_
2022. 2. 18. 22:44
https://programmers.co.kr/learn/courses/30/lessons/86051
문제 설명
- 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다.
- numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ numbers의 길이 ≤ 9
- 0 ≤ numbers의 모든 원소 ≤ 9
- numbers의 모든 원소는 서로 다릅니다.
풀이 방법
- ArrayList를 선언하여 numbers의 원소들을 추가한다.
- 0~9까지 반복문을 통해 contains() 함수를 이용하여 해당 숫자가 list에 존재하는지 아닌지 검사한다.
- 조건문이 false일때, 숫자를 더한다.
내 코드
import java.util.*;
class Solution {
public int solution(int[] numbers) {
int answer = 0;
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i=0;i<numbers.length;i++) list.add(numbers[i]);
for(int i=0;i<=9;i++){
if(!list.contains(i)) answer+=i;
}
return answer;
}
}
다른 풀이
class Solution {
public int solution(int[] numbers) {
int sum = 45;
for (int i : numbers) {
sum -= i;
}
return sum;
}
}
0~9까지 합(45)에서 numbers의 원소의 값을 빼어 결과를 반환해주는 방법이다.