개인공부/백준코딩연습
[1차원 배열] - 개수 세기
도원결의
2024. 8. 12. 00:08
문제
https://www.acmicpc.net/problem/10807
총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오.
첫 번째 풀이
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
int total = 0;
List<Integer> a = new ArrayList<>();
StringTokenizer st = new StringTokenizer(br.readLine()," ");
for(int i = 0 ; i <= n-1; i ++) {
a.add(Integer.parseInt(st.nextToken()));
};
int find = Integer.parseInt(br.readLine());
for(int i =0 ; i <= n-1; i ++) {
if ( a.get(i) == find ) {
total++;
}
}
bw.write(String.valueOf(total));
bw.flush();
bw.close();
br.close();
}
}
두 번째 풀이 : chatGPT의 조언 참고하여 수정
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
int[] numbers = new int[n];
StringTokenizer st = new StringTokenizer(br.readLine()," ");
for(int i = 0 ; i < n ; i ++) {
numbers[i]=(Integer.parseInt(st.nextToken()));
};
int find = Integer.parseInt(br.readLine());
int total = 0;
for(int i =0 ; i <= n-1; i ++) {
if ( numbers[i] == find ) {
total++;
}
}
bw.write(String.valueOf(total));
bw.close();
br.close();
}
}