컴퓨터공학 💻 도서관📚
Part2. 8-10 특정 범위의 숫자가 나열되어 있을 때 각 숫자의 개수를 세어봅시다. 본문
✅🌲강의 복습 노트/패캠 JavaSpring 강의,코드 복습
Part2. 8-10 특정 범위의 숫자가 나열되어 있을 때 각 숫자의 개수를 세어봅시다.
들판속초록풀 2026. 1. 11. 10:31문제 정의
M 이상 N 이하의 수가 나열되어 순서에 상관없이 나열되어 있다고 할 때 각 수가 몇개인지 세어보는 방법을 구현해봅시다. 가령 20세부터 100세 이하의 사람들이 어느 한 장소에 머물고 있다고 할때 연령대에따라 혹은 각 나이에 따른 인원을 체크해볼 수 있습니다.
수행 시간 : O(n) , n : 데이터의 개수
테크닉 :
기준점을 순차적으로 높여 분류하는 테크닉
반대로 만들면? --> 기준점으로 순차적으로 낮춰서 분류하면 된다.
ex)
if ( age > 90 )
else if ( age > 80 )
else if ( age > 70 )
...
else if ( age >= 20 )
public class Counting {
public static void main(String[] args) {
int[] people = { 55, 40, 27, 99, 76, 81, 29, 31,33, 62};
int[] ages = new int[10]; //연령대에 따른 수 세기
for(int i = 0; i<people.length; i++) {
int age = people[i];
// 기준점을 순차적으로 높여 분류하는 테크닉
if(age <30) ages[0]++; // 20대
else if(age < 40) ages[1]++;
else if(age < 50) ages[2]++;
else if(age < 60) ages[3]++;
else if(age < 70) ages[4]++;
else if(age < 80) ages[5]++;
else if(age < 90) ages[6]++;
else if(age <= 100) ages[7]++;
}
int number = people.length;
System.out.println( number + "명 중 20대는 " + ages[0]+ "명 입니다.");
System.out.println( number + "명 중 30대는 " + ages[1]+ "명 입니다.");
System.out.println( number + "명 중 40대는 " + ages[2]+ "명 입니다.");
System.out.println( number + "명 중 50대는 " + ages[3]+ "명 입니다.");
System.out.println( number + "명 중 60대는 " + ages[4]+ "명 입니다.");
System.out.println( number + "명 중 70대는 " + ages[5]+ "명 입니다.");
System.out.println( number + "명 중 80대는 " + ages[6]+ "명 입니다.");
System.out.println( number + "명 중 90대는 " + ages[7]+ "명 입니다.");
}
}'✅🌲강의 복습 노트 > 패캠 JavaSpring 강의,코드 복습' 카테고리의 다른 글
| Part2. 8-9 경우의 수 문제 (Brute-Force Search : 완전탐색) (0) | 2026.01.11 |
|---|---|
| Part2. 8-8 그리디 알고리즘(여러 종류의 동전으로 가격 지불하는 문제) (0) | 2026.01.11 |
| Part2. 8-7 피보나치 수열 문제 여러 방식으로 해결하기 (0) | 2026.01.11 |
| Part2. 8-6 미로 찾기 (0) | 2026.01.08 |
| Part2. 8-5 최단거리 (다익스트라 알고리즘) (0) | 2026.01.05 |
Comments
