🌴 문제
빈도수 구하기
- 1 ~ 5 범위 안에 숫자가 배열에 중복되어 저장되어있다.
- 1 ~ 5 까지의 숫자가 각각 몇 개씩 저장되어 있는지 출력하세요.
int[] numbers3 = {5, 3, 2, 1, 2, 4, 3, 3, 2, 1};
출력 예시
1 : 2개
2 : 3개
3 : 3개
4 : 1개
5 : 1개
🌴 문제 분석
int[] numbers3 = {5, 3, 2, 1, 2, 4, 3, 3, 2, 1};
int[] freq = new int[6]; // 인덱스가 6인 이유는 인덱스가 0부터 시작하기 때문에 총 5개가 필요..// 빈도수 저장할 공간을 배열로 만든다.
// 0번째 인덱스 칸은 버린다. 1~5까지 각각의 빈도수 저장.
for (int i = 0; i < numbers3.length; i++) { // 0 ~ 9
freq[numbers3[i]]++; // 아래 추가 설명.
}
for (int i = 1; i < freq.length; i++) { // 1~5
System.out.println(i + ":" + freq[i] +"개");
}
0 | 1 | 2 | 3 | 4 | 5 |
- 0은 버린다. 1 ~ 5까지의 빈도수를 저장하기 때문이다.
- freq[ ] 안에 numbers3[i] 배열을 넣는다.
- freq[numbers3[i]]++; - 예시 - freq[5] += 1; // 5번째 칸에 1씩 증가해서 개수를 축적한다.
'Algorithm' 카테고리의 다른 글
Algorithm - 임금 계산 (0) | 2023.01.16 |
---|---|
Algorithm - 배열 순서 변경 (0) | 2023.01.16 |
Algorithm - 최소값 (0) | 2023.01.15 |
Algorithm - 갯수 세기 (0) | 2023.01.15 |
Algorithm - 배수의 합 구하기 (0) | 2023.01.15 |