프로그래머스, 배열 만들기2(python)

이도현·2023년 10월 28일
0

알고리즘 문제풀이

목록 보기
19/24

내 풀이

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()
profile
좋은 지식 나누어요

0개의 댓글