[programmers] 프로그래머스 Level1 나누어 떨어지는 숫자 배열
(파이썬 Python)
* 문제출처 : 프로그래머스 코딩 테스트 연습, 알고리즘 문제
* 소스 코드 및 정리한 내용의 저작권은 글쓴이에게 있습니다.
프로그래머스 Level1 나누어 떨어지는 숫자 배열
1) 문제
2) 풀이 과정
1. 배열의 크기만큼 반복 실행 한다.
Why? 배열의 인덱스를 이용하여 활용하기 위해서.
2. 배열의 요소들 중, divisor로 나누었을 때 떨어지는 요소를 배열에 추가한다.
3. 배열의 크기가 0일 때 -1을 배열에 추가한다.
Why? 배열의 크기가 0인 이유는, arr배열의 element중 divisor로 떨어지지 않게 되면 위의 로직 for문~answer.append(arr[i])에서 배열에 element가 추가가 되지 않기에 배열의 크기는 0이 된다.
4. 이 후, 정렬을 하면 된다.
Plus) 맨 위에서 미리 정렬을 해줘도 된다.
3) 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
|
def solution(arr, divisor):
answer = []
for i in range(len(arr)):
if(arr[i] % divisor==0):
answer.append(arr[i])
if(len(answer)==0):
answer.append(-1)
answer.sort()
return answer
|
cs |
4) 정리 노트
1. append()란?
: 배열에다 값을 추가 할 때 사용한다.
1
2
|
answer = []
answer.append(1) # 출력 : answer=[1]
|
cs |
2. sort()와 sorted()차이?
(1). <list>.sort()
: 원본 리스트 순서 변화, 반환값 없음
1
2
3
4
|
list = [3,2,4,5]
list.sort()
print(list) # 출력 : [2, 3, 4, 5]
|
cs |
(2). sorted(<list>)
: 원본 리스트 순서 변화X, 정렬된 새로운 리스트 반환
1
2
3
4
|
list = [3,2,4,5]
sorted(list) # 출력 : [2, 3, 4, 5]
print(list) # 출력 : [3, 2, 4, 5]
|
cs |
'*Algorithm > Programmers_Level1' 카테고리의 다른 글
[programmers] 프로그래머스 Level1 문자열 내림차순으로 배치하기(파이썬 Python) (0) | 2020.08.30 |
---|---|
[programmers] 프로그래머스 Level1 같은 숫자는 싫어(파이썬 Python) (0) | 2020.08.29 |
[programmers] 프로그래머스 Level1 수박수박수박수박수박수?(파이썬 Python 자바 Java) (0) | 2020.08.28 |
[programmers] 프로그래머스 Level1 2016년(파이썬 Python) (0) | 2020.08.27 |
[programmers] 프로그래머스 Level1 가운데 글자 가져오기(파이썬 Python) (0) | 2020.08.27 |
댓글