[programmers] 프로그래머스 Level1 나누어 떨어지는 숫자 배열
(파이썬 Python)
* 문제출처 : 프로그래머스 코딩 테스트 연습, 알고리즘 문제
* 소스 코드 및 정리한 내용의 저작권은 글쓴이에게 있습니다.
프로그래머스 Level1 나누어 떨어지는 숫자 배열
1) 문제
코딩테스트 연습 - 나누어 떨어지는 숫자 배열
array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하�
programmers.co.kr
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 |
댓글