<코드카타 문제풀이>
25번 나누어 떨어지는 숫자
문제 설명
array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.
제한사항
arr은 자연수를 담은 배열입니다.
정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.
divisor는 자연수입니다.
array는 길이 1 이상인 배열입니다.
def solution(arr, divisor):
answer = []
#배열이니까 answer리스트 만들어준다
for i in arr:
#배열에서 하나씩 꺼내와서
if i % divisor == 0:
#나누어 떨어지는건 나머지가 0이니까 0이면
answer.append(i)
#if 문에 True가 된 i는 answer리스트에 추가
if not answer:
#반복문을 다 돌고 answer가 없다면 이니까 들여쓰기 반복문 밖으로 한다.
return [-1]
#바로 -1을 return 하고 종료 (return=종료)
return sorted(answer)
#return은 함수 안으로 항상 넣어준다
내가 놓친 포인트>>>>>>>
들여쓰기 위치 ---if문 안인지 for문 안인지 안이면 들여쓰기
밖이면 일직선상에 위치
리턴 위치 ---무조건 함수 안
리턴은 함수 종료 그냥 이건 국룰
또 헷갈렸다 나누기 자리!!!
i랑 divisor 또 자리 바꿔 씀 ...하 미치겐네
i는 arr에 있는 요소element 이고요
divisor는 약수
[5, 9, 7, 10]과 5을 가져와서 적용해보면
오름차순에 대한 추가 공부
오름차순 문법 2가지
리스트이름.sort() ---- 리스트자체를 바꿔서 출력할때는 리스트 이름 그대로 사용
sorted(리스트이름) ---- 출력할때 한번에 한줄로 끝낼 수 있다
이렇게 두가지의 차이가 있다는 사실 알아두기~
리스트이름.sort() ---- 리스트자체를 변환시키는 함수
출력할때는 리스트 이름을 그대로 출력
변환하면서 바로 출력 (한줄로 끝낼 수 있다.)