프로그래머스/프로그래머스 Lv0
Lv0 수열과 구간쿼리2
독기품기
2024. 7. 15. 19:27
https://school.programmers.co.kr/learn/courses/30/lessons/181923
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이 문제는 주어진 2차원 배열에서 1차원 배열의 원소들로 구분하고 1차원 배열 원소에 범위와, 특정 값이 주어져있는데 그 범위에 해당하면서 특정 값보다 큰 원소들을 찾고 찾은 원소들 중에서 가장 작은 원소들을 저장해야 하는 문제이다.
그러므로 for querie in queries를 통해 2차원 배열을 1차원 배열로 구분하고 answer라는 새로운 빈 배열을 선언하고
구분한 1차원 배열의 원소들 중 0번째와 1번째가 범위를 나타내므로 for i in range(querie[0],querie[1]+1), if arr[i]> querie[2]라면 새로운 빈 배열 answer에 append arr[i]를 해준다.
이렇게 되면 주어진 범위에서 특정 값 querie[2]보다 큰 값들을 answer에 저장이 되어있는데 우리는 그 중에서 가장 작은 값을 알고 싶으며, 값이 존재하지 않다면 -1를 추가해야 하므로 try~except문을 이용해서 이를 구현해준 후 return result를 해주면 된다.
