ALGORITHM/Java algorithm

[JAVA][LeetCode] #1. Two Sum

호이호이호잇 2022. 11. 21. 21:09
728x90
반응형

이제 다시 공부 시작.!

 

흥미 끌기.. 머리 풀기 용 쉬운 문제들을 몇일 간 풀어봐야겠다.

 

문제
주어진 int 배열 중 두 원소 합이 target 과 같은 index 값을 int 배열로 리턴하는 것.

 

 

이 쉬운 문제도 거의 30분 걸린듯?

머리가 굳어버렸어 @_@

 

나의 시도들..

 

TRY #1
public static int[] twoSum(int[] nums, int target) {
        int length = nums.length;
        
        int i=0, j=0;
        for(i=0; i<length; i++) {
        	for(j=0; j<length; j++) {
        		if(i==j) continue;
        		if(nums[i] + nums[j] == target) break;
        	}
        }
        
        return new int[] {i-1,j};
    }
}

실패 원인 :

break의 경우 for문 가장 안쪽만 멈추기 때문에 바깥쪽 반복문은 계속 체크하게 됨.

 

ANSWER
public static int[] twoSum(int[] nums, int target) {
    int length = nums.length;

    int i=0, j=0;
    for(i=0; i<length; i++) {
        for(j=0; j<length; j++) {
            if(i == j) continue;
            if(nums[i] + nums[j] == target) {
                return new int[] {j, i};
            }
        }
    }

    return null;
}

성공!

 

완전 최 하위다..ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

너무 멍청이처럼 짠 것 같지만..

그래도 성!공!

 

쁑..

728x90
반응형