leetcode 문제 풀기 (1480번)Python

1480번

1. leetcode 시작!


처음 코드 적는 부분을 보고 당황했다.
class.. List[int]..?
물론 배우긴 했지…
어떻게 푸는지를 몰라서 또 폭풍 구글링 시작..
역시 기본이라 안나온다.
배웠던 기억을 더듬으며..

class Solution:
    def runningSum(self, nums: List[int]) -> List[int]:

Solution이라는 클래스를 만들고, runningSum이라는 함수를 생성.
첫번째 파라미터로 self를 넘겨주고(호출 시 호출한 객체 자신이 전달되기 때문에 관례적으로 self를 사용한다), nums라는 int를 가지는 list를 두번째 파라미터로 가진다.
:-> List[int]Type Hinting 개념으로 설명을 해줄때 쓴다.
numsint를 요소로 가지는 List이다.
그리고 runningSumint를 요소로 가지는 List를 리턴 값으로 가지는 함수이다.

풀어서 정리해서 써보니 그렇게 어렵지는 않았다. 대신 백준 문제와는 다르게 입력값을 어떻게 받는지는 안나와있어서 고생을 꽤나 했는데,
역시나 검색하니 나랑 똑같은 생각을 하는 사람이 있었다.
결론은 백준 문제처럼 입력값은 따로 생각하지 않아도 된다는 것!
편리하다.

2. 제출 코드


class Solution:
    def runningSum(self, nums: List[int]) -> List[int]:
        total = 0
        sum_list = []
        for i in nums:
            total += i
            sum_list.append(total)
        return sum_list

3. 공부할 것


Submissions를 누르면 내 detail을 볼 수 있다.
나는.. 68%정도..
그래프로 다른사람들 중 몇 % 정도인지를 쉽게 볼 수 있는데,
다른 그래프를 누르면 다른 사람들의 소스코드도 보여준다.
(개충격 너무좋다)

아래는 Runtime이 나보다 짧은 다른사람의 코드이다.
변수 이름을 그냥 아무렇게나 짧게 쓰는게 나은가…?

class Solution:
    def runningSum(self, nums: List[int]) -> List[int]:
        s=0
        ans=[]
        for i in nums:
            s=s+i
            ans.append(s)
        return ans

댓글남기기