728x90
시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율
1 초 | 256 MB | 100824 | 62611 | 53823 | 63.188% |
문제
총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거나 같으며, 100보다 작거나 같다.
출력
첫째 줄에 입력으로 주어진 N개의 정수 중에 v가 몇 개인지 출력한다.
풀이✔
1️⃣ 문제 분석하기
- N개의 정수를 입력 받는다.
- N개 만큼 정수를 입력한다
- N개만큼 입력한 정수 중에 V가 몇 개인지 찾는다.
2️⃣ 요구 조건 구현하기
- BufferedReader 를 사용해서 N개의 정수를 입력 받는다.
- N개 만큼 정수를 담는 배열을 만들고 담는다.
- V를 입력하고 V가 N개 배열에 포함 되어 있는지 찾는다.
- for문에서 조건을 줘서 찾을 수 있다.
3️⃣ 슈도 코드
Buffredreader 입력
BufferedWriter 생성
StringTokenizer 생성
int N = 입력받기
int[] arrays = new int[N]
for(int i=0; i<N; i++) {
arrays[i] = 입력받은 값 넣기
}
int v = 입력받기
int vSum = 0; //v합계 구하기
for(int i=0; i<N; i++) {
if(arrays[i]=v) {
vSum++;
}
}
BufferedWriter로 값 읽어오기.
4️⃣ 코드 작성
package 알고리즘;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class B10807 {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out));
// 배열 크기 N을 입력 받기
int N = Integer.parseInt(bufferedReader.readLine());
// 배열 입력 받기
StringTokenizer stringTokenizers = new StringTokenizer(bufferedReader.readLine());
int[] arrays = new int[N];
for (int i = 0; i < N; i++) {
arrays[i] = Integer.parseInt(stringTokenizers.nextToken());
}
//System.out.println(stringTokenizers.hasMoreTokens());
//token이 없을시 false, 남아있을 시 true
// 찾으려는 정수 V 입력 받기
int V = Integer.parseInt(bufferedReader.readLine()); //한줄을 문자열로 읽어온다.
// 배열 순회하면서 V와 일치하는 원소 개수 세기
int vSum = 0;
for (int i = 0; i < N; i++) {
if (arrays[i] == V) {
vSum++;
}
}
// 결과 출력
bufferedWriter.write(String.valueOf(vSum));
bufferedWriter.newLine(); //줄 바꿈
// BufferedWriter를 사용했으면 마지막에 flush() 호출하여 버퍼를 비워야 합니다.
bufferedWriter.flush();
}
}
5️⃣ 핵심 파악하기
이 문제는 반복문의 특징과 배열의 알아야 하며,
V와 일치하는 원소를 세기위한 조건을 준 다는 생각만 있었으면 풀 수 있었습니다.
728x90