728x90
import java.io.*;
import java.util.*;
class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] arr = new int[Integer.parseInt(br.readLine())];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < arr.length; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
int v = Integer.parseInt(br.readLine());
int count = 0;
for (int i : arr) {
if(i == v) {
count++;
}
}
System.out.print(count);
}
}
차례차례 입력받아
배열을 만들고
배열안에 넣고
그 배열 안에 v와 같은 값이 있다면 count++로 했는데
다른 사람의 코드를 보니
굳이 저장할 필요가 없다고 판단한다면
저장하지 않고 바로 사용하는 방법이 있었다.
나는 저장하지 않고는 다음으로 넘어갈 수 없다는 생각에 빠져서 작성했었는데
생각해보면 StringTokenizer에 Token이 있다면 계속 저장되어 있는 것이 생각났다....
그래서 좀 줄여본 코드.
import java.io.*;
import java.util.*;
class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int v = Integer.parseInt(br.readLine());
int count = 0;
for (int i = 0; i < n; i++) {
if (v == Integer.parseInt(st.nextToken())) {
count++;
}
}
System.out.println(count);
}
}
그런데 이런 압축된 코드를 보면 대회용 같다는 생각을 한다..
728x90
'✍ Baekjoon' 카테고리의 다른 글
[백준/JAVA] 8958번 OX퀴즈 (0) | 2022.06.22 |
---|---|
[백준/JAVA] 5597번 과제 안 내신 분..? (0) | 2022.06.22 |
[백준/JAVA] 2675번 문자열 반복 (0) | 2022.06.22 |
[백준/JAVA] 2869번 달팽이는 올라가고 싶다 (0) | 2022.06.19 |
[백준/JAVA] 2588번 곱셈 (0) | 2022.06.19 |