문제
https://www.acmicpc.net/problem/10807
10807번: 개수 세기
첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거
www.acmicpc.net
입력할 정수의 개수 N을 입력받은 뒤, 정수를 입력한다. 이후, 정수를 한번 더 입력받아 같은 개수의 정수가 몇 개 있는지 출력하는 문제이다.
입력 출력
5 2
1 2 3 2 1
2
------------------------------------------------------------------------------------------------------------------
풀이
(1) Scanner 사용
1) 정수의 개수 입력 후 배열 생성
2) for문을 사용하여 배열에 값들을 저장
3) 찾을 정수(x)를 입력 받은 뒤, for문 안에 배열의 값과 찾을 정수(x)의 값이 일치하는 경우 count++
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); // 정수의 개수 n 입력
int array1[] = new int[n]; // 일차원 배열 생성
int count = 0; // 동일한 정수의 개수
for(int i=0;i<array1.length;i++) {
array1[i] = sc.nextInt(); // 배열에 값 저장
}
int x = sc.nextInt(); // 찾을 정수
for(int i=0;i<array1.length;i++) {
if(array1[i]==x) // 배열의 값과 정수가 일치하는 경우 count++
count++;
}
System.out.println(count);
sc.close();
}
}
------------------------------------------------------------------------------------------------------------------
(2) BufferdReader 사용
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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());
int count = 0;
StringTokenizer strtk = new StringTokenizer(br.readLine());
int x = Integer.parseInt(br.readLine());
for(int i=0;i<n;i++) {
if(Integer.parseInt(strtk.nextToken())==x)
count++;
}
System.out.println(count);
br.close();
}
}
찾을 정수를 int형으로 받았기 때문에 // int x = Integer.praseInt(br.readLine());
if를 사용할 때에도 앞에 Integer.parseInt를 통해 int형으로 형 변환을 시켜주어야 한다.
'문제 풀이' 카테고리의 다른 글
[백준] 10818번: 최소, 최대 - JAVA (자바) (0) | 2023.02.13 |
---|---|
[백준] 10871번: X보다 작은 수 - JAVA (자바) (0) | 2023.02.10 |
[백준] 1110번: 더하기 사이클 - JAVA (자바) (0) | 2023.02.04 |
[백준] 10951번: A+B - 4 - JAVA (자바) (0) | 2023.02.02 |
[백준] 10952번: A+B - 5 - JAVA (자바) (0) | 2023.02.02 |