<로직 고민>
- 일단 0부터 9까지의 리스트를 만들고 numbers를 하나씩 돌리면서 그 숫자가 새로 만든 리스트에 있다면 새로 만든 리스트에서 그 숫자를 뺀 다음 for문이 다 돌면 새로 만든 리스트의 각 요소들을 다 더해서 answer에 넣으면 되겠다!
- 하고 코드를 짜니까 통과는 했는데 1점 받았넹...ㅎ
- 너무 단순하게 푼 거지
- (근데 프로젝트 때문에 시간이 없으므로 더 고민하지 않고 다른 사람 풀이를 보겠어..)
<완성된 코드>
def solution(numbers):
num_list = [0,1,2,3,4,5,6,7,8,9]
for num in numbers:
if num in num_list:
num_list.remove(num)
answer = sum(num_list)
return answer
<다른 사람 풀이>
- 천재풀이1
def solution(numbers):
return 45 - sum(numbers)
- 찢었다...
- 나는 왜 이런 생각을 못 하는거야 후...
- 천재풀이2
solution = lambda x: sum(range(10)) - sum(x)
- 이게 왜 풀려...? 함수만 써야 하는 게 아니구낭...
- 인간풀이3
def solution(numbers):
return sum([i for i in [1,2,3,4,5,6,7,8,9,0] if i not in numbers])
- 내꺼 한 줄 코딩 했다면 이렇게 바꿨을 듯
- 근데 not in을 떠올릴 수 있었을지는 잘 모르겠지만..!
- 인간풀이4
def solution(numbers):
answer=0
for i in range(1,10):
if i not in numbers:
answer += i
return answer
- 일일이 [0,1,2,3,4,5,6,7,8,9] 할 필요 없이 range(1,10) 하면 되는 거였군....왜 생각 못했지...