https://codeup.kr/problem.php?id=3001
말 그대로 단순한 탐색이다. 내가 1 ~ 100 의 자연수 중에서 50 이란 숫자를 찾게 된다고 가정하자.
그 때 우리는 단순 탐색을 하면 1,2,3,4,5,6,7,8,9... 49 , 50! 이렇게 찾게 되는 것을 단순 탐색이라 한다.

public class SimpleSearch {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] numbers = new int[n];
sc.nextLine();
for (int i = 0; i < numbers.length ; i++) {
numbers[i] = sc.nextInt();
}
sc.nextLine();
int idx = 0;
int k = sc.nextInt();
for (int i = 0; i < numbers.length ; i++) {
if(numbers[i] == k){
idx = i + 1;
break;
}
}
System.out.println(idx);
}
}
코드는 이런식으로 진행되고 코드 설명을 간단히 하자면
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] numbers = new int[n];
sc.nextLine();
문제는 첫번째 입력은 입력할 숫자의 갯수이니까 n 으로 입력변수를 받아주고 받은 n으로 배열을 바로 만들어서 다음 입력때 받을 배열을 준비하고 sc.nextLine(); 으로 엔터를 쳐서 다음 변수를 받게 한다.
for (int i = 0; i < numbers.length ; i++) {
numbers[i] = sc.nextInt();
}
sc.nextLine();
n의 갯수의 맞춰 만들어진 numbers의 배열 길이 만큼 반복하여 n 번 반복하여 숫자를 넣어준다 i 가 0 번인 이유는 배열이 0부터 시작하니까 0번부터 맞추어 주어야한다.
int idx = 0;
int k = sc.nextInt();
for (int i = 0; i < numbers.length ; i++) {
if(numbers[i] == k){
idx = i + 1;
break;
}
}
System.out.println(idx);
배열에 입력한 수를 모두 받았으니 이제 배열만큼 반복하여 k에 맞는 숫자를 찾아나가면 된다.
idx를 지정해준 것은 i 번째 수가 k에 같으면 break를 걸어 반복문을 빠져나오기 때문에 i를 받아줄 변수를 만들고
idx = i + 1 는 문제에서는 0번이 시작번호가 아니라 1번이 시작번호기 때문에 + 1 을 해서 직관적으로 볼 수 있게 하였다.