https://programmers.co.kr/learn/courses/30/lessons/86051
[ 내 풀이 ]
- 배열을 10칸(0~9)를 선언해주어서, numbers를 하나씩 돌면서 numbers값의 배열 인덱스의 요소 값을 1로 변경해서 존재함을 알린다.
- 배열을 확인하며 0(존재하지 않는 값)이라면 그 인덱스를 answer에 누적시켜 리턴.
[ 다른 사람 풀이 ]
- 0~9까지의 합 45를 변수에 담아둔다
- numbers배열을 확인하며 있는 값을 45에서 빼주면 남아있는 값은 자동으로 없는 숫자들의 합이 되며 그 값을 리턴.
[ 내 풀이 ]
class Solution {
public int solution(int[] numbers) {
int answer = 0;
int[] n = new int[10];
for(int i=0; i<numbers.length; i++) {
n[numbers[i]] = 1;
}
for(int i=0; i<n.length; i++) {
if(n[i] == 0) {
answer += i;
}
}
return answer;
}
}
[ 다른 사람 풀이 ]
class Solution {
public int solution(int[] numbers) {
int sum = 45;
for (int i : numbers) {
sum -= i;
}
return sum;
}
}
다른 사람 풀이보고 "와.. 이렇게 생각할 수 도 있구나..."라고 생각하고 감탄했다...
세상에 똑똑한 사람들이 너무 많다 😮