1. 문제 상세
https://www.acmicpc.net/problem/10807
2. 문제 접근
1차원 배열을 활용하여 입력받은 정수 중에 선택한 정수가 몇 개 있는지 찾아보는 문제이다.
먼저 첫째 줄에 입력받을 정수의 개수를 입력받는다. 정수의 개수는 최소 1개에서 최대 100개 이하 이기때문에
정수들을 저장할 배열의 크기를 100으로 설정.
이번에도 반복문으로 입력받은 정수의 개수만큼 반복하며 정수를 입력받아 배열에 저장한다.
마지막으로 찾을 정수를 입력받고, 반복문을 통해 배열의 값들과 비교하여 찾는 정수가 몇 개 있는지 확인한다.
결과 출력을 위해 찾는 정수의 개수를 저장할 변수를 하나 선언하고 0으로 초기화한 후, 배열의 값들과 비교하여
동일한 정수가 나올 때 마다 1씩 더하도록 한다.
3. 문제 풀이
#include <iostream>
using namespace std;
int main() {
int n, a[100], f, count = 0;
cin >> n;
for(int i = 0; i < n; i++) cin >> a[i];
cin >> f;
for(int i = 0; i < n; i++) if(a[i] == f) count++;
cout << count;
}
정수형 변수 n, f, count 를 선언하고 count 를 0 으로 초기화. 크기가 100인 정수형 배열 a 를 선언.
cin 으로 입력 할 정수의 개수를 입력받아 n 에 저장한다.
for문을 사용하여 i 가 0 부터 n 보다 작을 때 1 씩 더하며 반복하도록 한다.
반복에서는 cin 으로 정수를 입력받아 a 배열의 i 번 인덱스에 저장한다.
정수를 다 입력받았다면 cin 으로 찾을 정수를 입력받아 f 에 저장한다.
다시 for문을 사용, i 가 0 부터 n 보다 작을 때 1 씩 더하며 반복하도록 하고 반복에서 조건문을 사용해
배열 a 의 i 번 인덱스의 값이 f 와 같다면 count 에 1을 더하도록 한다.
모든 비교가 끝나면 cout 으로 count 의 값을 출력한다.
4. 성능 확인
5. 마무리
1차원 배열을 사용해보았다. 배열에 대한 간단한 설명은 배열, 구조체 이 글에 작성해두었다.
'백준 - 단계별로 풀어보기 > 1차원 배열' 카테고리의 다른 글
[백준] 10813번 : 공 바꾸기 | C++ (0) | 2023.09.21 |
---|---|
[백준] 10810번 : 공 넣기 | C++ (0) | 2023.09.21 |
[백준] 2562번 : 최댓값 | C++ (0) | 2023.09.21 |
[백준] 10818번 : 최소, 최대 | C++ (0) | 2023.09.21 |
[백준] 10871번 : X보다 작은 수 | C++ (0) | 2023.09.21 |