Problem
Solve
- O(n^2) 의 방법으로 for문 두 번을 통해 i는 0 ~ nums.length-1 까지 j는 i+1 ~ nums.length-1 까지 순회하면서 배열 요소 하나하나를 합으로 구해 target 과 비교한다.
- Only one valid answer exists. 이기 때문에 sum 과 target 이 같다면 반환할 배열에 값을 할당하고 즉시 두 반복문을 멈춘다.
class Solution {
public int[] twoSum(int[] nums, int target) {
int[] result = new int[2];
for(int i = 0 ; i < nums.length; i++){
int sum = 0;
boolean flag = true;
for(int j = i+1; j < nums.length ; j++){
sum = nums[i] + nums[j];
if(sum == target){
result[0] = i;
result[1] = j;
flag = false;
break;
}
}
if(!flag) break;
}
return result;
}
}