728x90
문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/181883
내 풀이
def solution(arr, queries):
for s, e in queries:
for i in range(len(arr)):
if s <= i and i <= e:
arr[i] += 1
return arr
어렵지 않은 문제였고, 나름 잘 푼 문제다.
그러나 다른 사람 풀이를 남겨보고 싶어 글을 쓴다.
다른 사람 풀이
def solution(arr, queries):
for s, e in queries:
for i in range(s, e+1):
arr[i] += 1
return arr
나는 s <= i, i <= e의 다중조건을 통해 결국에는 arr 배열을 모두 순회하였다.
그러나 만약에 arr 배열이 매우 길다면 시간초과의 문제가 일어날 수 있기 때문에,
우리가 구하고자 하는 범위만 순회하면 된다.
즉, 우리는 s <= i <= e의 범위가 궁금하므로,
그 범위만을 순회한다!
기억하고 싶은 풀이였다.
끄읏-!
728x90
'코딩테스트 > PYTHON' 카테고리의 다른 글
[프로그래머스][PYTHON] Lv. 0 문자열이 몇 번 등장하는지 세기 (1) | 2024.02.07 |
---|---|
[프로그래머스][PYTHON] Lv. 0 문자열 정수의 합 (0) | 2024.02.05 |
[프로그래머스][PYTHON] Lv. 0 조건에 맞게 수열 변환하기 3 ( + map과 lambda) (1) | 2024.02.02 |
[프로그래머스][PYTHON] Lv. 0 전국 대회 선발 고사 ( + 딕셔너리 설명) (0) | 2024.01.31 |
[프로그래머스][PYTHON] Lv. 0 가까운 1 찾기 (0) | 2024.01.30 |