본문 바로가기

Algorithm/Implementation

(Python3) - 프로그래머스(코딩 기초 트레이닝) : 수열과 구간 쿼리 2

반응형

https://school.programmers.co.kr/learn/courses/30/lessons/181923

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

간단 구현 문제 였습니다.

📕 풀이방법

📔 입력 및 초기화

정답 변수 answer를 선언 후 빈 배열로 초기화합니다.

📔 풀이과정

queries의 원소를 순회하며 다음을 진행합니다.

1. s, e, k값을 저장합니다. minNum값을 int max값(약 10억)으로 저장합니다.

2. s부터 e까지 for loop를 수항하며 k보다 큰 arr[i]중 가장 작은 값을 minNum에 저장합니다.

3. minNum이 int max값이라면 -1을, 이외에는 minNum값을 answer에 추가합니다.

📔 정답 출력 | 반환

answer를 반환합니다.


📕 Code

📔 Python3

def solution(arr, queries):
    answer = []
    for query in queries:
        s = query[0]
        e = query[1]
        k = query[2]
        minNum = 0x3f3f3f3f
        for i in range(s, e + 1):
            if arr[i] > k:
                minNum = min(arr[i], minNum)
        if minNum == 0x3f3f3f3f:
            answer.append(-1)
        else:
            answer.append(minNum)
    return answer

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.