25번 - 나누어 떨어지는 숫자 배열
문제 설명
array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.
제한사항
- arr은 자연수를 담은 배열입니다.
- 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.
- divisor는 자연수입니다.
- array는 길이 1 이상인 배열입니다.
입출력 예
arr | divisor | return |
[5,9,7,10] | 5 | [5,10] |
[2,36,1,3] | 1 | [1,2,3,36] |
[3,2,6] | 10 | [-1] |
<나의 풀이>
def solution(arr, divisor):
answer = []
for i in arr:
if i % divisor == 0:
answer.append(i)
if len(answer) == 0:
answer = [-1]
answer.sort()
return answer
- arr 안에서 element(i) 요소들을 찾기 위해 --> for i in arr:
- 만약 i가 divisor와 나누어 떨어진다면 --> if i % divisor ==0:
- 해당 답을 answer에 넣어준다 --> answer.append(i)
- for문을 끝내고 다시 answer의 길이가 0이라면 divisor에 나누어 떨어지는 것이 없기 때문에 --> if len(answer) == 0:
- answer에 -1 대입 --> answer = [-1]
- 결과값을 오름차순으로 정렬시켜주고 --> answer.sort()
- answer 반환 --> return answer
.append() - 리스트의 끝에 새로운 요소를 추가하는 메소드
len() - 길이를 재는 함수
.sort() - 정렬 시켜주는 함수
'CODEKATA' 카테고리의 다른 글
[Python] 음양 더하기 (0) | 2024.07.19 |
---|---|
[MySQL] 서울에서 위치한 식당 목록 출력하기 (0) | 2024.07.19 |
[MySQL] 년, 월, 성별 별 상품 구매 회원 수 구하기 (0) | 2024.07.18 |
[Python] 서울에서 김 서방 찾기 (0) | 2024.07.17 |
[MySQL] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (0) | 2024.07.17 |