반응형
[PYTHON] leetcode 1. Two Sum
leetcode 에서 첫번째문제를 python 으로 푸는 중이다.
코딩 테스트라니, 너무 오랜만에 문제를 풀기 시작해서 그런가 영어독해부터 엉망이다.
처음에 주어진 배열의 수에서 nums[0], nums[1] 두개의 수를 더해서 맞으면 return[0] 에 그 차이값, return[1] 에 틀린지 아닌지의 수를 넣는 것이라 생각하고는 엉뚱하게 문제를 풀었다. 문제를 잘 읽어봐야겠다고 다짐한지 30년이 흘렀지만 이건 사실 불가능한 것이었구나를 다시한번 깨닫는다.
그래서 아래와 같은 얼토당토 않은 풀이법이 나오게 된다.
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
myAnswer = nums[0] + nums[1]
if(myAnswer == target):
mySolution2 = 1
else:
mySolution2 = 2
if(mySolution2 == 1):
mySolution1 = 1
else:
mySolution1 = target - myAnswer
return [mySolution1, mySolution2]
자 정확한 문제는 주어진 배열중에 어느 위치의 값이던 두 수를 더해서 target 값을 구할 수있다면 그 위치를 알려달라는 문제이다. 아래와 같이 for, range 문을 다시 공부해서 해결을 했다.
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
for i in range(len(nums)):
print(i, len(nums), nums)
for j in range(i + 1, len(nums)):
if nums [i] + nums[j] == target:
return [i, j]
Run Code 를 누르고 Submit 을 누르자 아래와 같은 결과가 나왔다.
1번 문제부터 문법에서 헤매기 시작해서 다소 창피하지만, 일단 하나 푼게 어딘가? 차근차근 공부해 나가자.
반응형
'python' 카테고리의 다른 글
[PYTHON] 텍스트로 만드는 str(), 숫자로 만드는 int() (0) | 2021.03.16 |
---|---|
[PYTHON] leetcode running sum of 1d array 문제풀이 (0) | 2021.03.16 |
[PYTHON] list 선언하기, 배열 array 선언 (0) | 2021.03.16 |
[PYTHON] FOR, RANGE 를 이용한 반복문 사용방법 (i, j) 2개변수 (0) | 2021.03.15 |
[PYTHON] IF, ELSE 문 사용방법 (0) | 2021.03.15 |
댓글