OFMY (Ony for me and you)

[프로그래머스 | 코딩 기초 day 6 ] - 수열과 구간 쿼리 2 본문

코딩테스트 준비/PYTHON

[프로그래머스 | 코딩 기초 day 6 ] - 수열과 구간 쿼리 2

선뭉 2024. 2. 12. 10:58

문제 설명

정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e, k] 꼴입니다.

 query마다 순서대로 s  i  e인 모든 i에 대해 k보다 크면서 가장 작은 arr[i]를 찾습니다.

각 쿼리의 순서에 맞게 답을 저장한 배열을 반환하는 solution 함수를 완성해 주세요.단, 특정 쿼리의 답이 존재하지 않으면 -1을 저장합니다.

 

 

내 풀이 + chat GPT의 도움 

 

- valid_numbers를 구하는게 관건 

valid_numbers = [num for num in sub_array if num > k]

리스트 컴프리헨션

여기서 [num for num in sub_array if num > k] 부분은 리스트 컴프리헨션입니다.  여기서는 sub_array라는 리스트의 각 원소(num)에 대해 조건문 if num > k를 적용하여 k보다 큰 숫자만을 포함하는 새로운 리스트인 valid_numbers를 생성합니다.

 

if valid_numbers: 구문은 조건문입니다. valid_numbers가 비어있지 않으면(즉, 최소한 하나의 유효한 숫자가 있는 경우) 참(True)