int[] numArr = {1, 5, 3, 2, 1, 5, 2, 7, 8, 3, 5, 6, 10, 5};
int[] cntArr = new int[10]; // 각 숫자의 출현횟수가 누적될 배열.
// 1의 출현횟수 : 2 / cntArr[0]은 1의 출현횟수가 누적될 곳
// 2의 출현횟수 : 2 / cntArr[1]은 2의 출현횟수가 누적될 곳
// 3의 출현횟수 : 2
// 4의 출현횟수 : 0
// 5의 출현횟수 : 4
// 6의 출현횟수 : 1
// 7의 출현횟수 : 1
// 8의 출현횟수 : 1
// 9의 출현횟수 : 0
// 10의 출현횟수 : 1
// 내 풀이방법
for(int i = 0; i <= numArr.length-1; i++) {
for(int j=0; j<=numArr.length-1; j++) {
if(i == numArr[j]-1) {
cntArr[i]++;
}
} System.out.println(cntArr[i]);}
// 강사님이 알려주신 방법
for(int i = 0; i <= numArr.length-1; i++) {
cntArr[numArr[i]-1] += 1;
} System.out.println(cntArr[i]);
➡︎ 강사님의 풀이를 보면 이중 for문과 if문을 다 사용하지 않았다.
cntArr[0]은 1의 출현횟수가 누적될 곳
이 힌트였다.!!!!
근데 알려주신 방법을 보면 이해는 되는데, 안돌아감...????
String[] zodiacSign = {"원숭이", "닭", "개", "돼지", "소", "호랑이", "토끼 ", "용 ", "뱀 ", "말 ", "양 "};
int year = 2022;
System.out.println(year + "년도는 " + zodiacSign[year%12]+ "해입니다."); // 나머지로 간단하게 나타낼 수 있음
➡︎ %
나머지를 이용해서 엄청 간단하게 문제를 풀 수 있다..!