본문 바로가기

CERTIFICATION/cosPro

01. 배열 및 빈도수

배열내 숫자들의 각 빈도수를 출력하는 코드 구현하기

❓ [1, 3, 3, 2, 1, 1, 3, 0, 1, 2] 각 숫자별 빈도 수는?

 

✨ 결과화면(권장 풀이 기준)

실행결과


 

💡 나의 풀이코드

package cosPro2;

// 배열내 숫자들의 각 빈도수를 출력하는 코드를 구현

import java.util.*;

public class _01_배열 {

	public static void main(String[] args){
    	int[] Arr = {1, 3, 3, 2, 1, 1, 3, 0, 1, 2};
        int[] ar = new int[4];
        
        for(int i=0; i<Arr.length; i++){
        	if(Arr[i]==0){
            	ar[0] += 1;
            }
            else if(Arr[i]==1){
            	ar[1] += 1;
            }
            else if(Arr[i]==2){
            	ar[2] += 1;
            }
            else
            	ar[3] += 1;
        }
        System.out.println(Arrays.toString(ar));
    }
}

 

📌 풀이방식

더보기
배열 선언 및 인덱스 구성
  1. 각 숫자별 빈도수를 담을 새 배열 생성
  2. 반복문과 조건문을 이용 -> 해당 숫자들이 일치할 경우 1 씩 증가시킴

 

💡 권장 풀이코드

package cosPro2;

// 배열내 숫자들의 각 빈도수를 출력하는 코드를 구현

public class _01_배열 {

	public static void main(String[] args) {
		// 1. 배열 선언
		int[] Arr = {1, 3, 3, 2, 1, 1, 3, 0, 1, 2};	

		// 2. 배열내 각 숫자들의 빈도수 출력
		// 2-1. 빈 정수형 배열(ar)을 하나 만들어놓고 초깃값은 모두 0으로 셋팅
		// 2-2. Arr 배열 내 숫자를 빈 배열(ar)의 인덱스로 적용, 
		//		해당 인덱스의 ar 배열 요소의 값을 1씩 증가시키기
		// 2-3. 빈 배열(ar)의 요소 갯수는 Arr 배열내 숫자들의 종류만큼 지정 // 0, 1, 2, 3 => 총 4개 생성

		int[] ar = new int[4];		// 기본 초기값 0으로 셋팅

		for(int i=0; i<Arr.length; i++) {
			ar[Arr[i]]++;
		};
		
		for(int i=0; i<ar.length; i++){
			System.out.println(i + " 번 -> " + ar[i]);
		}
	}

}

 


 

💌 후기

더보기

아니 왜 저렇게 편한 방식을 놔두고 API패키지(import java.util.*)까지 추가해가면서 복잡하게 작성했을까..?


최근에 예습한 파트가 배열이라서 더 머릿속에 남아있었나보다.

예제문제들을 풀면서 결과값이 같더라도 더 효율적이고 간결한 방식이 있는지 생각하고 적용해서

시험때 시간에 쫓기지 않게 연습하자!!

 

'CERTIFICATION > cosPro' 카테고리의 다른 글

03. 이중 반복문  (0) 2024.02.17
02. 짝수 구하기  (1) 2024.02.16