본문 바로가기
  •  오묘와 함께 살아가는 집사의 연구노트
코딩공부

Leet Code Easy 1번 Two Sum 문제 C언어 풀이

by 오묘집사 2021. 11. 20.
728x90
반응형

안녕하세요 오묘집사입니다.

 

최근에 이직 준비를 하면서 코딩테스트 준비를 하느라 Leetcode라는 사이트에서 문제를 풀고있습니다.

 

Easy 모드의 가장 첫번째 문제, two sum 이라는 문제입니다.

 

찾아보는데 c언어 풀이는 잘 안올라오더라구요.

 

해답:

더보기

 

int* twoSum(int* nums, int numsSize, int target, int* returnSize){
    int* res = (int*)malloc(2*sizeof(int));
    for (int i=0; i<numsSize-1;i++)
        for(int j = i+1; j < numsSize;j++)
            if(nums[i]+ nums[j] == target){
                res[0] = i;
                res[1] = j;
            }
    *returnSize = 2;
    return res;                
}

 

 

 

간단하게 그냥 array를 두번 훑으면서 다 찾아보는 겁니다.

 

시간복잡도는 O(n^2)입니다.

 

오랜만에 c언어로 풀려니까 처음에 malloc하는 부분도 헷갈렸네요..

보니까 hash table로 푸는 방법이 있던데,

생각보다 엄청 복잡해지더라구요.

 

공부하다보면 hash table도 쉽게 쓸 수 있는 날이 오지않을까...

합니다.

 

반응형

댓글