본문 바로가기

Algorithm/프로그래머스

[Python] [코딩 기초 트레이닝] / 배열 만들기 2

[Q]

1. l <= x <= r

2. x 가 "0"과 "5"로만 이루어진 경우 오름차순 배열로 return

3. 1<= l <= r <= 1,000,000

4. x가 없다면 -1 return

def solution(l, r):
    answer = []
    return answer

 

 

- i in range(l, r)

- set(str(i)) in ['0', '5']

 

 

[A] (내가 쓴 답)

def solution(l, r):

    answer = []

    for i in range(l, r+1) :

        if not set(str(i)) - set(['0', '5']) :

            answer.append(i)

    return answer if answer else [-1]

 

* return answer if answer else [-1] 이전 코드에서 보고 꼭 써먹어야겠다고 생각함.

* if not a : = a가 비어있다면

 

 

[A] 다른 답들

def solution(l, r):
    answer = []
    n = [5,50,55,500,505,550,555,5000,5005,5050,5055,5500,5505,5550,5555,50000,50005,50050,50055,50500,50505,50550,50555,55000,55005,55050,55055,55500,55505,55550,55555,500000,500005,500050,500055,500500,500505,500550,500555,505000,505005,505050,505055,505500,505505,505550,505555,550000,550005,550050,550055,550500,550505,550550,550555,555000,555005,555050,555055,555500,555505,555550,555555]
    for i in n:
        if i >= l and i <= r:
            answer.append(i)
    if answer == []:
        answer.append(-1)
    return answer

 

이건 너무 웃겨서 기록해놓음.