728x90
반응형
https://www.acmicpc.net/problem/10807
문제
문제 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int count = 0;
int[] arr = new int[N];
for (int i = 0; i < N; i++) {
arr[i] = sc.nextInt();
}
int b = sc.nextInt();
for (int j = 0; j < arr.length; j++) {
if(b == arr[j]) {
count++;
}
}
System.out.println(count);
}
}
코드 풀이
Scanner sc = new Scanner(System.in); // Scanner 객체를 생성하여 입력을 받음
int N = sc.nextInt(); // N 값을 입력 받음
- Scanner 객체를 생성하여 사용자 입력을 받습니다. System.in은 표준 입력 스트림입니다.
- 정수 N을 입력받아 저장합니다. 이는 배열의 크기를 결정합니다.
int count = 0; // count 변수를 초기화
int[] arr = new int[N]; // 크기가 N인 정수 배열을 생성
- count 변수를 0으로 초기화하고, 나중에 숫자의 개수를 세는 데 사용된다.
- 크기가 N인 정수 배열 arr을 생성합니다.
for (int i = 0; i < N; i++) { // N개의 정수를 입력받아 배열 arr에 저장
arr[i] = sc.nextInt();
}
- for 루프를 사용하여 N개의 정수를 입력받아 배열 arr에 저장합니다.
int b = sc.nextInt(); // 정수 b를 입력 받음
- 정수 b를 입력받아 저장합니다.
for (int j = 0; j < arr.length; j++) { // 배열 arr을 순회하면서 b와 같은 값을 가진 요소의 개수를 세어 count에 저장
if(b == arr[j]) {
count++;
}
}
- for 루프를 사용하여 배열 arr을 순회하며, 각 요소가 b와 같은지 비교합니다.
- 배열 요소가 b와 같으면 count를 증가시킵니다.
System.out.println(count); // b와 같은 값을 가진 요소의 개수를 출력
- count 값을 출력합니다. 이는 배열에서 b와 같은 값을 가진 요소의 개수입니다.
피드백 & 정리
문제 해결 과정에서의 실수와 수정
1. 실수: count 변수를 배열 선언 전에 초기화하지 않음
int[] arr = new int[N]; // 크기가 N인 정수 배열을 생성
int count = 0; // count 변수를 초기화
수정: 변수 선언 순서를 변경하여 count 변수를 먼저 초기화
int count = 0; // count 변수를 초기화
int[] arr = new int[N]; // 크기가 N인 정수 배열을 생성
실수하지 말자.!

깃 허브
Algorithm_Judge/boj/java/step/b_04_1_dimensional_array/p_10807.java at main · CHUNYOUNGSANG/Algorithm_Judge
Contribute to CHUNYOUNGSANG/Algorithm_Judge development by creating an account on GitHub.
github.com
반응형
'JAVA - 백준 [BAEK JOON] > 1차원 배열' 카테고리의 다른 글
[백준] 10813번 : 공 바꾸기 - JAVA (자바) (1) | 2024.06.03 |
---|---|
[백준] 10810번 : 공 넣기 - JAVA (자바) (0) | 2024.06.03 |
[백준] 2562번 : 최댓값 - JAVA (자바) (0) | 2024.06.03 |
[백준] 10818번 : 최소, 최대 - JAVA (자바) (0) | 2024.06.01 |
[백준] 10871번 : X보다 작은 수 - JAVA (자바) (0) | 2024.06.01 |