package Java_CodingTest;
public class Num1 {
public static void main(String[] args) {
int[] sum = {1,2,5,7,4,3,6,9};
System.out.println(sumLessThan(sum,5));
}
private static int sumLessThan(int[] sum, int i) {
int result = 0;
for(int a = 0; a < sum.length; a ++) {
if(sum[a]< i) {
result += sum[a];
}
}
return result;
}
}
두 수의 합이라고 하니 두 개의 반복문(for)을 사용하자
첫번째 반복문을 통한 값과 두 번째 반복문에서 나온 값의 합이 target2의 값과 같으면 된다.
package Java_CodingTest;
import java.util.ArrayList;
import java.util.List;
public class Num2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] num2 = {3, 2, 5, 7, 11};
int target = 9;
List<Integer> result = findIndices(num2, target);
System.out.println(result);
}
private static List<Integer> findIndices(int[] num2, int target) {
// TODO Auto-generated method stub
List<Integer> result1 = new ArrayList<>();
for(int a=0; a < num2.length; a ++) {
for(int b= a+ 1 ; b <num2.length; b++) {
if(num2[a] + num2[b] == target) {
result1.add(a);
result1.add(b);
}
}
}
return result1;
}
}
반복문을 통해 값을 찾아가면 된다.
int result = -1로 함으로써 존재하지 않으면 -1을 반환한다.
package Java_CodingTest;
public class Num3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] nums = {3,4,5,6,7,8,0,1,2};
int target = 0;
System.out.println(search(nums, target));
}
private static int search(int[] nums, int target) {
// TODO Auto-generated method stub
int result = -1;
for(int a=0; a<nums.length; a++ ) {
if(nums[a] == target) {
result = a;
}
}
return result;
}
}