문제 설명
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ numbers의 길이 ≤ 9
- 0 ≤ numbers의 모든 원소 ≤ 9
- numbers의 모든 원소는 서로 다릅니다.
입출력 예
numbers | result |
[1,2,3,4,6,7,8,0] | 14 |
[5,8,4,0,6,7,9] | 6 |
나의 풀이는
list와 map을 사용해서 check list를 만들어주엇다
set으로 차집합해서 sum함
def solution(numbers):
check_list = list(map(int,range(0,10)))
answer = sum(set(check_list)-set(numbers))
return answer
다른 고수의 풀이1
간단하고 잘 풀엇지만 넘 수학으로 날먹한 듯하다
def solution(numbers):
return 45 - sum(numbers)
다른 고수의 풀이2
고수풀이는 한 개씩만 가져오려고 했는데
이 분은 lambda를 사용해서 잘 푼 것 같아서 가져왔다
solution = lambda x: sum(range(10)) - sum(x)
'코딩테스트 > python' 카테고리의 다른 글
[프로그래머스 고득점 kit] 해시 - 전화번호 목록 (0) | 2023.08.30 |
---|---|
[프로그래머스 고득점 kit] 해시 - 완주하지 못한 선수 (0) | 2023.08.29 |
프로그래머스 lv1 음양더하기 (0) | 2023.08.25 |
프로그래머스 lv1 추억 점수 (2) | 2023.08.25 |
프로그래머스 lv1 달리기 경주 (3) | 2023.08.25 |