728x90
반응형
아래 문제는 LeetCode에서 제공하는 문제입니다.
#문제
문제가 영어로 나옵니다. 언젠가는 해외취업을 할 수 있지 않을까라는 희망때문에,, 미래 대비해봅니다.
영어로 대충 읽고 해석해서 풀 수도 있지만 저는 chatgpt에게 냉큼 달려가 해석을 요청했습니다.
그래서 얻어 온 해석본:
주어진 정수 배열 nums와 정수 target이 주어졌을 때, 이 배열에서 두 숫자를 선택하여 그 합이 target이 되는 경우의 인덱스를 반환하는 문제입니다. 이때, 같은 요소를 두 번 사용할 수 없으며, 답은 어떤 순서로든 반환할 수 있습니다.
각 예시에 대한 설명은 다음과 같습니다:
예시 1:
- Input: nums = [2,7,11,15], target = 9
- Output: [0,1]
- 해설: nums[0] + nums[1]은 2 + 7으로 9가 되므로, 이 경우에는 인덱스 0과 1을 반환합니다.
예시 2:
- Input: nums = [3,2,4], target = 6
- Output: [1,2]
- 해설: nums[1] + nums[2]는 2 + 4로 6이 되므로, 이 경우에는 인덱스 1과 2를 반환합니다.
예시 3:
- Input: nums = [3,3], target = 6
- Output: [0,1]
- 해설: nums[0] + nums[1]은 둘 다 3으로 6이 되므로, 이 경우에는 인덱스 0과 1을 반환합니다.
문제의 제약 조건은 다음과 같습니다:
- 배열 nums의 길이는 2 이상 10,000 이하입니다.
- nums 배열의 각 요소는 -10^9 이상 10^9 이하의 정수입니다.
- target은 -10^9 이상 10^9 이하의 정수로 주어집니다.
- 정확히 하나의 유효한 답이 존재합니다
대강 문제는 이해했는데 어떻게 해결해야할지 전혀 몰라서 인강으로 듣고 해결했습니다....
분명 인강 듣고는 이해했었는데 왜 다시 보니깐 리셋되는 느낌이죠?
수학문제 푸는 것 마냥 해답보면 이해되는데 다시 풀려니 모르겠어요!!
서론이 기네요 답은 이러합니다.
파이썬을 이용한 답입니다.
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
output = []
for i in range(len(nums)):
i_val = nums[i]
for j in range(1, len(nums)):
j_val = nums[j]
if i == j:
break
if i_val + j_val == target:
output.append(i)
output.append(j)
return output
728x90
반응형
'Algorithm' 카테고리의 다른 글
[프로그래머스/JAVA] N의 배수 (0) | 2023.09.22 |
---|---|
[프로그래머스/JAVA] 공배수 (0) | 2023.09.22 |
[프로그래머스/JAVA] day1-5 특수문자 출력하기 (0) | 2023.09.01 |
[프로그래머스/JAVA] day1-4 대소문자 바꿔서 출력하기 (0) | 2023.09.01 |
[프로그래머스/JAVA] day1-3 문자열 반복해서 출력하기 (0) | 2023.09.01 |