def solution(arr, divisor):
answer = []
for i in arr:
if arr[i-1] % divisor == 0:
answer.append(arr[i-1])
if all(arr[i-1]) % divisor != 0:
answer.append(-1)
break
return answer.sort()
실행하지 못했다.
+++
공부하고 안 실행하지 못 한
이유 1) arr을 이미 i로 분절했는데 굳이 arr[i-1]로?
이유 2) if문을 쓰지 않고, for문 밖으로 나와서 단순히 answer에 element가 없으면 -1 반환하는 것이 쉽다.
def solution(arr, divisor):
answer = []
for i in arr:
if i % divisor == 0:
answer.append(i)
if len(answer) == 0:
answer.append(-1)
return answer.sort()
+++
1) for문 안에서 간단히 i 사용
2) answer의 길이가 단순히 0이라고 반환하여(element 없음)
3) return answer.sort() 하면 2문제가 틀림 왤까
list.sort() : list를 단순히 재배열, 그러나 list만 가능
sorted() : sorted 된 객체를 새로 만듦(모두 사용 가능)
내 풀이 2. 에서 return answer.sort()는
답이 -1이 될 수도 있기 때문에 안되는 걸까?
def solution(arr, divisor): return sorted([n for n in arr if n%divisor == 0]) or [-1]
+++
1. or 부분이 감명깊다
2. n을 이렇게 쓸 수 있구나
3. 내 코드 진짜 구구절절이다