LeetCode 1번 Two Sum 개인적인 문제 풀이..

이 포스팅에서는 LeetCode의 1번 문제인 Two Sum에 대한 풀이를 적어 보려고 한다.

사실, 1번 문제 답게 easy 난이도 중, easy라 할 수 있을 정도로 쉽다.

 

문제는 다음과 같다.

nums라는 정수의 배열과 target이라는 변수로 정수를 준다. 이때, nums의 배열에 속한 정수들 중, 두 개를 선택하여 target을 만든다. 이후, target을 만든 정수들의 index 값을 vector로 반환하면 된다.


예를 들면 아래와 같다.

입력 값 : nums = [ 3, 5, 9, 11], target = 16

출력 값 : [ 1, 3 ]

즉, 5 + 11 = 16이므로, 5와 11의 index 값을 vector로 만들어서 반환하면 되는 것이다.


사실, 이 문제는 특정 시간을 제한 사항으로 두면 어려울 수 있으나, 당연히 없다. num의 길이나 값의 크기 정도만 있으니 참고 하면 된다.

 

내 경우에는 아래처럼 문제를 풀었다..

 


위에서 말했지만, 시간에 쫓길 필요가 없기 때문에 for문 두개를 이용하여 순서대로 합을 확인하였다.

이후, 두 정수의 합이 target과 같다면, 그 값을 vector에 저장하여 반환하도록 처리하였다.

 

그랬더니, 아래처럼 결과가 나왔다.

Runtime: 516 ms
Memory Usage: 9.4 MB
 
사실, 이 문제는 맛보기라 생각하여 속도는 별 생각 안했는데, 다른 사람들보다 runtime이 늦은 편인 것으로 보인다..


다음 문제부터는 runtime도 좀 생각해봐야 하지 않을까 싶다..

댓글