본문 바로가기
Codingtest

[프로그래머스][파이썬] #05. 수열과 구간 쿼리 2

by Joshuuakeem 2023. 7. 21.

📝 문제

출처 : 프로그래머스 수열과 구간 쿼리 2

 

✔️ 나의 풀이

def solution(arr, queries):
    answer = []

    for query in queries:
        s, e, k = query[0], query[1], query[2]
        target_range = arr[s:e+1]

        filtered_values = [x for x in target_range if x > k]
        if filtered_values:
            answer.append(min(filtered_values))
        else:
            answer.append(-1)

    return answer

 

🔎 다른 사람의 풀이

def solution(arr, queries):
    answer = []
    for s, e, k in queries:
        tmp = []
        for x in arr[s:e+1]:
            if x > k:
                tmp.append(x)
        answer.append(-1 if not tmp else min(tmp))
    return answer

 

✏️ 배운점

쿼리에 대한 이해가 떨어져 부분적으로 풀지 못한 부분이 있었고, GPT선생님의 도움을 받았다ㅠ

s - 시작 인덱스

e - 끝 인덱스

k - 기준 값

라는 형태의 의미를 가지고 있으며

for 루프를 통해 k 보다 크면서 가장 작은 arr[i]를 찾는 조건문을 작성한다.

반응형