코딩 테스트/Level 1
월간 코드 챌린지 시즌3: 없는 숫자 더하기
컴닥
2021. 9. 14. 17:24
반응형
https://programmers.co.kr/learn/courses/30/lessons/86051
코딩테스트 연습 - 없는 숫자 더하기
0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한
programmers.co.kr
파이썬
def solution(numbers):
return sum({i for i in range(10)} - set(numbers))
def solution(numbers):
return sum(set(range(10)) - set(numbers))
def solution(numbers):
return 45 - sum(numbers)
Java
문제에 겹치는 경우에 대한 언급이 없었습니다.
테스트를 돌려보니 겹치는 경우는 없었습니다.
class Solution {
public int solution(int[] numbers) {
int total = 45;
for (var num : numbers) total -= num;
return total;
}
}
겹치는 숫자가 있다면
해시'셋'(집합)을 이용해
겹친 원소를 제거해 준 뒤,
계산하면 됩니다.
import java.util.HashSet;
class Solution {
public int solution(int[] numbers) {
var nums = new HashSet<Integer>();
for (var num : numbers) nums.add(num);
var total = 45;
for (var num : nums) total -= num;
return total;
}
}
반응형