반응형
- 예를 들어 학생 관리 (고등학생)
- 번호. 나이. 이름. 주소. 학년
- 국어 수학 영어 과학 => 1학기 중간. 1학기 기말 . 2학기 중간. 2학기 기말
- 국어 수학 영어 과학 => 1학기 중간. 1학기 기말 . 2학기 중간. 2학기 기말
- 국어 수학 영어 과학 => 1학기 중간. 1학기 기말 . 2학기 중간. 2학기 기말
- 1001 17 김철수 서울시 영등포 어쩌구 저쩌구 ㅋㅋㅋ 1학년 1반 김포고등학교 10 20 30 40 1학기 중간
- 1001 17 김철수 서울시 영등포 어쩌구 저쩌구 ㅋㅋㅋ 1학년 1반 김포고등학교 10 20 30 40 1학기 중간
- 1001 17 김철수 서울시 영등포 어쩌구 저쩌구 ㅋㅋㅋ 1학년 1반 김포고등학교 10 20 30 40 1학기 중간
- 1001 17 김철수 서울시 영등포 어쩌구 저쩌구 ㅋㅋㅋ 1학년 1반 김포고등학교 10 20 30 40 1학기 중간
- 1001 17 김철수 서울시 영등포 어쩌구 저쩌구 ㅋㅋㅋ 1학년 1반 김포고등학교 10 20 30 40 1학기 중간
- 1001 17 김철수 서울시 영등포 어쩌구 저쩌구 ㅋㅋㅋ 1학년 1반 김포고등학교 10 20 30 40 1학기 중간
- 이렇게 찾으면. for 한번이면 찾는다. 이건 좋다.
- 위의 처럼 하면 데이터 낭비가 심하다.
- 위의 처럼 코딩을 안짠다.
- 밑에꺼가 완전탐색이다.
- 왜 하는지를 알아야 한다. 상황을 이해 해야 한다.
- student table
- 1001 17 김철수 서울시 영등포 어쩌구 저쩌구 ㅋㅋㅋ 1학년 1반 김포고등학교
- 1002 17 김철수 서울시 영등포 어쩌구 저쩌구 ㅋㅋㅋ 1학년 1반 김포고등학교
- 1003 17 김철수 서울시 영등포 어쩌구 저쩌구 ㅋㅋㅋ 1학년 1반 김포고등학교
- 1004 17 김철수 서울시 영등포 어쩌구 저쩌구 ㅋㅋㅋ 1학년 1반 김포고등학교
- 이건 반복되기 때문에.
- 테이블로 나눈다.
- score table
- 1001번으로 위의 학생을 찾는다.
- 1001 10 20 30 40 1학기 중간
- 1001 10 20 30 40 1학기 중간
- 1001 10 20 30 40 1학기 중간
- 1001 10 20 30 40 1학기 중간
- 1001 10 20 30 40 1학기 중간
- 1001 10 20 30 40 1학기 중간
- 1001 10 20 30 40 1학기 중간
- 1001 10 20 30 40 1학기 중간
- 1001 10 20 30 40 1학기 중간
- 1001 10 20 30 40 1학기 중간
- for for 2개로 찾아야 한다.
- 테이블이 2개라서.
- student table
- for for를 완전히 익혀야 한다.
- 데이터를 손해 없이
- C0802보통완전탐색과데이터

- C0802보통완전탐색과데이터_문제

- 내가 잘못 이해함
- for (let i = 0; i<order.length; i++)
- 즉 i로 돌릴때.
- 출력도 i로 해야 한다.
- for( let j = 0; j <item.length; j++)
- item [ j ]로 출력을 했지만
- for for은 곱하기다.
- 즉 order ( 7개) * item ( 4개 )
- 조건을 걸지 않으면 28번이 나와야 한다.
- 즉 28번이 출력이 될때
- 1003 이 숫자가. 나머지 배열을 다 검사
- 1001, 1002, 1003,1004 => 이렇게 다 출력해야 하는데.
- 1003 이 숫자가. 나머지 배열을 다 검사
- 하지만 조건을 걸면
- number == item[j]를 걸면 전부 출력하지 않고. 서로 맞는것만 출력이 되는거다.
- 조건을 걸면
- 1003
- 1001,1002,1003,1004
- 1003숫자가. 위의 4개를 검사를 하면서. 1003이 같으니. 출력이 가능하다.
- 즉 1001,1002,1004는 다르니. 3개를 뺄 수 있는거다.
- 1003
- 이래서 조건을 거는거다.
- 28번을 굳이 다 출력할 이유가 없으니.
- 서로 비교할 배열끼리 비교. 같다고 하고.


- total을 2번째 for문에 적은 이유
- 조건에 맞게 total에 값을 더해줘서 저장해야 한다.
- total을 2번째 for문 밖에다가 적었으면.
- for문이 2번 즉 4 * 7 = 28번이 도는데.
- 그러면 total은 28번의 값을 저장이 되니.
- 2번째 for문안에 total을 넣어서 조건에 맞게 저장해야 한다.
- total += (price[j] * count);
- 여기서 count => orderCount[i];
- 2번째 for문은 j로 돌지만 왜 i로 하냐.
- total은 order의 배열만큼 값을 더해야 하기 때문에.
- 조건에 맞게 값을 더 해주어야 하지만. order의 배열만큼 저장을 해주어야 해서.
- orderCount[j]로 곱해주면 안된다. 그러면 값을 덜 더해주는거다.
- total += (price[j] * orderCount[j]);
- 이렇게 곱하게 되면.
- 오늘 주문들어온 내역만큼 구한게 아니라.
- item만큼 곱해진것. 즉 메뉴판만큼만 곱해진거다.
- 오늘 주문 들어온 수량만큼 곱해진게 아니라.









반응형
'코딩 > 1-JavaScript' 카테고리의 다른 글
| C0901이차배열 (0) | 2025.05.12 |
|---|---|
| 해설 : C0803보통완전탐색_규칙찾기_개념연습 (1 ~ 5) (0) | 2025.05.09 |
| C0801보통완전탐색 (0) | 2025.05.08 |
| C0708셀프완전탐색과그룹바이_개념연습 (0) | 2025.05.08 |
| C0707셀프완전탐색과규칙찾기_개념연습 10 ~ 16 (0) | 2025.05.08 |