-
월간 코드 챌린지 시즌3: 없는 숫자 더하기코딩 테스트/Level 1 2021. 9. 14. 17:24반응형
https://programmers.co.kr/learn/courses/30/lessons/86051
파이썬
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; } }
반응형