📝 문제
✔️ 나의 풀이
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]를 찾는 조건문을 작성한다.
반응형
'Codingtest' 카테고리의 다른 글
[프로그래머스][파이썬] #07. 문자열 여러 번 뒤집기 (0) | 2023.07.27 |
---|---|
[프로그래머스][파이썬] #06. 배열 만들기 4 (0) | 2023.07.24 |
[프로그래머스][파이썬] #04. 수 조작하기2 (0) | 2023.07.21 |
[프로그래머스][파이썬] #03. 등차수열의 특정한 항만 더하기 (0) | 2023.07.19 |
[프로그래머스][파이썬] #02. 특수문자 출력하기 (0) | 2023.07.17 |