임의의 배열로 입력된 데이터를 읽어 각 데이터의 개수를 세어 *로 출력해주는 프로그램이다
임의의 데이터를 입력해준다.
int[] answer = {1,4,4,3,1,4,4,2,1,3,2};
answer데이터의 범위가 1,2,3,4 총 4개이므로 데이터 개수를 세어줄 배열의 길이를 4로 선언하여 생성해준다.
int[] counter = new int[4];
데이터의 범위는 4이지만 index는 0부터시작하기때문에 answer[i] - 1을 해주고,
데이터와 일치하는 index의 값을 증감(++)해준다.
for(int i=0; i<answer.length; i++) {
counter[answer[i]-1]++;
}
*이해를 돕기위한 counter배열
Index(실제데이터속성) | 0(1) | 1(2) | 2(3) | 3(4) |
counter[i]++된 값 | 3 | 2 | 2 | 4 |
전체코드
public class Main {
public static void main(String[] args) {
int[] answer = {1,4,4,3,1,4,4,2,1,3,2};
int[] counter = new int[4];
for(int i=0; i<answer.length; i++) {
counter[answer[i]-1]++;
}
for(int i=0; i<counter.length; i++) {
System.out.printf("[%d]의 개수: ", i+1);
for(int j=0; j<counter[i]; j++) {
System.out.print("*");
}System.out.println();
}
}
}
출력결과
[1]의 개수: ***
[2]의 개수: **
[3]의 개수: **
[4]의 개수: ****
'알고리즘 > 기초' 카테고리의 다른 글
간단한 암호화 프로그램 (0) | 2023.08.08 |
---|---|
주어진 배열을 시계방향으로 회전시키는 프로그램 (0) | 2023.08.07 |
거스름 돈 계산하기 (0) | 2023.08.07 |
회문수(palindrome) 구하기 (0) | 2023.08.06 |
주어진 문자열을 숫자인지 판별하는 프로그램 (0) | 2023.08.06 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!