1. 프로그래머스 python 코딩테스트 입문
Level 0. 약수 구하기
정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.
정답 확인
1. 차근차근
def solution(n):
answer = []
for i in range(1,n+1):
if n%i == 0:
answer += [i]
return sorted(answer)
answer = ''
는 문자열 선언!answer = [ ]
리스트 선언 .sort()
: 제자리에서 오름차순 - return 값 none'내 리스트 그냥 지금 정렬해!'
sorted(리스트)
: 새 리스트 반환 - return 값 정렬된 리스트
리스트, 집합, 문자열 모두 사용 가능. '정렬된 결과 따로 저장해서 쓸거야!
2. 중복 제거 set()
사용
def solution(n):
answer = set()
for i in range(1, n+1):
if n % i == 0:
answer.add(i)
answer.add(n // i)
return sorted(answer)
set.sort()
불가능. answer.sort()
도 정렬만 하고 return 값 none이라 안됨. 따라서 sorted(answer)
이 되어야함.
set()
정리
set()
: 중복 제거 함수set()
: 순서 없는 집합 자료형. 즉, 순서가 없고, 정렬도 없고, 인덱스도 사용 불가능.set() 결과는 set 자료형
임.set()
함수와+=
연산자는 함께 사용 불가.
(+=
: 리스트에서만 사용 가능.)set()
과append()
도 사용 불가. 대신add()
사용.set([1,2,3,3,])
-> {1,2,3} 리스트, 문자열, 튜플 등을 집합으로 변환.set('banana')
-> {'a''b''n'} 중복 제거, 순서보장 안됨.
append()
와add()
정리