728x90
문제
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
- 출력 예시 -
정답 코드
< 내 정답 코드 >
class Solution {
public int solution(int[] numbers) {
int sum = 0;
outer:
for (int i = 1; i <= 9; i++) {
for (int j = 0; j < numbers.length; j++) {
if (i == numbers[j]) {
continue outer;
}
}
sum += i;
}
return sum;
}
}
< 타인 답변 코드 >
class Solution {
public int solution(int[] numbers) {
int sum = 45;
for (int i : numbers) {
sum -= i;
}
return sum;
}
}
이것을 주의하자!
- 해당 배열에 1 ~ 9 숫자가 있는지 확인 후, 있으면 외부 for 문으로 돌아가고, 없으면 해당 숫자를 sum 에 더한 후 반환했다.
- 타인 답변 코드를 보면 너~~무 간단하다. 1부터 9까지 모든 숫자를 더한 숫자에서 존재하는 숫자들을 하나씩 빼면 결국 없는 숫자의 합이 될테니 말이다. 대단한 발상의 전환이다... 감탄...
'코딩 테스트' 카테고리의 다른 글
[프로그래머스] (Lv.1) 내적 (0) | 2022.09.08 |
---|---|
[프로그래머스] (Lv.1) 음양 더하기 (0) | 2022.09.07 |
[프로그래머스] (Lv.1) 체육복 ** (0) | 2022.09.07 |
[프로그래머스] (Lv.1) 실패율 *** (0) | 2022.09.06 |
[프로그래머스] (Lv.1) 약수의 개수와 덧셈 (1) | 2022.09.06 |