예제로 공부하는 Java 100 문제풀이 Part.5
배열 내 숫자들의 각 빈도 수를 출력하는 코드를 구현하시오.
// [1, 3, 2, 2, 1, 3, 1, 1] 각 숫자별 빈도 수는?
// 1 --> 4회, 2 --> 2회, 3 --> 2회
이 문제는 자격증 관련 코딩 문제에서 많이 나오는 유형의 패턴으로써 자격증 외에서도 많이 쓰이는 패턴이다.
굉장히 많이 나오는 단골 패턴이므로 잘 숙지하고 여러번 타이핑 치면서 반복 연습을 해야만 한다.
문제가 "반장 선거의 득표 수" 등으로 나오기도 한다 --> 결국 빈도 수 묻는 패턴이다.
public class Java100_Ex50 {
public static void main(String[] args) {
//[1]: 배열 선언
int[] target = {1,3,3,2,1,1,3,0,1,2};
//[2]: 배열 내 각 숫자들의 빈도 수 출력하기
//1 --> 빈 정수형 배열(ar)을 하나 만들어놓고 초깃값은 모두 0으로 셋팅한다.
//2 --> target 배열 내 숫자가 빈 배열(ar)의 인덱스로 적용돼서 해당 인덱스의 ar 배열 요소의 값을 1씩 증가시킨다.
//3 --> 이때, 빈 배열(ar)의 요소 갯수는 target 배열 내 숫자들의 종류만큼 지정한다.
int[] ar = new int[4];
for(int i = 0; i < target.length; i++)
ar[target[i]]++;
System.out.println(ar[0]);
System.out.println(ar[1]);
System.out.println(ar[2]);
System.out.println(ar[3]);
}
}
'Backend > Java' 카테고리의 다른 글
[인프런] 자격증, 패턴, 이중 반복문, continue (0) | 2022.05.01 |
---|---|
[인프런] 홀수, 짝수, 알고리즘, 반복문 (1) | 2022.05.01 |
[인프런] 성적, 정렬, 출력, 순위, 랭킹, 알고리즘 (0) | 2022.04.30 |
[인프런] 성적, 순위, 알고리즘 (0) | 2022.04.30 |
[인프런] 정렬 함수, 알고리즘, 성적, 순위 (2) | 2022.04.30 |