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
개념으로 설명을 해줄때 쓴다.
nums
는 int
를 요소로 가지는 List
이다.
그리고 runningSum
은 int
를 요소로 가지는 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
댓글남기기