[1스4코2파] 1명의 스위프트 개발자와 4명의 코틀린 개발자, 2명의 파이썬 개발자코딩 테스트 서막 : 1스4코1파

Rule :

하루에 1문제씩 풀기.
한 문제당 30분씩은 고민하기.
왜 그렇게 풀었는지 공유하기.
하루라도 놓친다면 벌금은 1,000원
백준 플래티넘, 프로그래머스 4단계, 개발자 탈퇴 시 모임 탈퇴 가능

START :

[3코1파] 2023.01.04~ (168차)
[4코1파] 2023.01.13~ (160일차)
[1스4코1파] 2023.04.12~ (71일차)
[1스4코2파] 2023.05.03 ~ (50일차)

Today :

2023.06.18 [168일차]
LeetCode Patterns
303. Range Sum Query - Immutable
https://leetcode.com/problems/range-sum-query-immutable/description/

303. Range Sum Query - Immutable

https://leetcode.com/problems/range-sum-query-immutable/description/

문제 설명

원소가 담긴 list인 nums가 주어지고 left, right가 담긴 리스트가 주어졌을 때
nums의 left 인덱스부터 right 인덱스까지의 합을 구해서 return 함!

문제 풀이 방법

easy 한 dp 문제이지만
저렇게 클래스로 구현해서 sumRange 함수로 불러오는 건 프로그래머스와 다른걸?
뭐 일단 nums의 길이만큼의 numsList 를 만들고,
nums를 돌면서 nums의 원소들을 더한 값을 numsList에 넣는다.

각 원소들을 더한 numList에 있는 걸 right+1, left 인덱스에 있는걸로 빼줌

내 코드

class NumArray:

    def __init__(self, nums: List[int]):
        self.sumList = [0]*(len(nums)+1)
        for i in range(len(nums)):
            self.sumList[i+1] = self.sumList[i] + nums[i]

    def sumRange(self, left: int, right: int) -> int:
        return self.sumList[right+1] - self.sumList[left]

증빙

여담

-끝-

profile
꿈꾸는 것도 개발처럼 깊게

0개의 댓글