내 풀이
def solution(l, r):
answer = []
for i in range(l, r+1):
check = True
for s in str(i):
if s != "5" and s != "0":
check = False
break
if check == True:
answer.append(i)
if not answer:
return [-1]
return answer;
- l부터 r까지 순회하며 i에 5나 0이 아닌 다른 수가 있는지 확인
다른 사람 풀이
def solution(l, r):
answer = []
for num in range(l, r + 1):
if not set(str(num)) - set(['0', '5']):
answer.append(num)
return answer if answer else [-1]
- l 부터 r까지 순회
- 각 숫자를 문자열로 변환 후, 그 문자열을 집합으로 반환
Set
- 고유한 요소의 집합을 나타내는데 사용
- {} 또는 set() 함수를 통해 생성
- 순서 없음(인덱싱, 슬라이싱 불가능)
- 가변
- 해시 가능한 요소만 포함(예를 들어 리스트는 set에 포함될 수없음)
1) 주요 연산자
- add()
- remove()
- discard()
- 집합연산: 합집합(|), 교집합(&), 차집합(-), 대칭 차집합(^)
- 멤버십 테스트: in
- 길이확인: len()