배열이 주어진다.
그중 "같은 것을 찾는" 조건 => 배열 과 숫자를 비교하자.
1. BufferedReader 로 input을 받는다. (Scanner보다 성능 좋음)
2. 첫번째 입력줄은 배열의 길이를 뜻한다. => int N = Integer.parseInt(br.readLine());으로 받자
3. Array를 생성해서 두번째 줄 배열 입력을 받자 => int[] arr = new int[N]
4. 공백으로 입력을 받는다 -> StringTokenizer로 받는다.
5. array에 입력을 넣어준다.
for(int i = 0; i<arr.length; i++){
arr[i] = Integer.parseInt(st.nextToken());
}
6. 3번째줄 입력은 검사할 숫자를 받는다. 즉, 해당 숫자와 같은 숫자를 찾는다
7. cnt; 변수를 만들어주고, 배열을 돌면서 같은 숫자의 갯수를 찾는다.
for(int i = 0; i<arr.length; i++){
if(arr[i]==searchNum){
cnt++;
}
}
완성된 코드
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
//array생성
int[] arr = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine());
//숫자 array에 넣기
for(int i = 0; i<arr.length; i++){
arr[i] = Integer.parseInt(st.nextToken());
}
int searchNum = Integer.parseInt(br.readLine());
int cnt = 0; // searchNum과 일치할 시 갯수 올리는 변수
for(int i = 0; i<arr.length; i++){
if(arr[i]==searchNum){
cnt++;
}
}
System.out.print(cnt);
}
}
- 정리
크게 어려울것 없이 배열을 사용할 줄 알면 된다.
알고리즘을 복잡하게 해서 배열을 돌면서 처리하는 어려운 로직은 발생하지 않았다.
'Programming > 알고리즘' 카테고리의 다른 글
[백준] 5597 - 과제 안 내신 분..? - JAVA[자바] (0) | 2022.11.27 |
---|---|
[백준] 10871 - X보다 작은 수 - JAVA[자바] (0) | 2022.11.27 |
[백준] 1110- 더하기 사이클 - JAVA[자바] (0) | 2022.11.26 |
[백준] 10951 - A+B-4 - JAVA[자바] (0) | 2022.11.26 |
[백준] 2438 - 별찍기 - 1 - JAVA[자바] (0) | 2022.11.26 |