728x90
728x90
1. 문제 설명
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
2. 제한사항
1 ≤ numbers의 길이 ≤ 9
3. 입출력 예
numbers | result |
[1,2,3,4,6,7,8,0] | 14 |
[5,8,4,0,6,7,9] | 6 |
4. 입출력 예 설명
- 입출력 예 #1
5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다.
- 입출력 예 #2
1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다.
class Solution {
public int solution(int[] numbers) {
int [] a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
int cnt = 0;
for(int i=0; i<numbers.length;i++) {
for(int y=0; y<a.length; y++) {
if(numbers[i]==a[y]) {
cnt +=a[y];
}
}
}
return 45-cnt;
}
}
numbers 내 0~9 중 없는 수를 더해야하기 때문에
전체 합 45에서 0~9중 존재하는 수를 빼면
없는 수의 합이 나온다는 생각으로 접근했다.
더보기
하지만 풀면서도 너무 불필요한 부분이 많다고 느꼈다.
같은 접근이지만 훨씬 깔끔한 풀이로 다시 공부하였다.
728x90
class Solution {
public int solution(int[] numbers) {
int sum = 45;
for (int i : numbers) {
sum -= i;
}
return sum;
}
}
728x90
728x90
'코딩테스트(Level 0~1)' 카테고리의 다른 글
[JAVA, Programmers] 가운데 글자 가져오기(자바) (0) | 2022.11.21 |
---|---|
[JAVA, Programmers] 수박수박수박수박수박수?(자바) (0) | 2022.11.21 |
[JAVA, Programmers] 음양 더하기(자바) (0) | 2022.11.21 |
[JAVA, Programmers] 제일 작은 수 제거하기(자바) (0) | 2022.11.21 |
[JAVA, Programmers] 나누어 떨어지는 숫자 배열(자바) (0) | 2022.11.21 |