본문 바로가기

Java (국비)86

최소값 구하기 int tmp, min; for(int i = 0; i < arr.length - 1; i++) { min = i; for(int j = (i + 1); j < arr.length; j++) { if(arr[j] < arr[min]) { min = j; } } tmp = arr[min]; arr[min] = arr[i]; arr[i] = tmp; 1회차 min = 0 arr[1] < arr[0] 참이면 1이 min에 저장되고 다음 루프로 거짓이면 if문을 패스하고 다음 루프로 2회차 1회차 if문이 참이였을 경우 min = 1 arr[2] < arr[1] 참이면 2가 min에 저장되고 다음 루프로 거짓이면 if문을 패스하고 다음 루프로 3회차 ... 보면, if 조건식의 j랑 min이 배열의 인덱스를 가.. 2023. 5. 7.
23.05.07 1. 플래그 2. 선택정렬 3. 최대값, 최소값 4. 기존 배열에서 특정 값들을 뽑아서 새로운 배열에 값을 복사 5. continue 6. break 2023. 5. 7.
배열 문제 3 /* [문제] 1. 주석 2. 한글풀이 1) 이 배열의 이름은 data 이고 2) 3 ~ 5개까지중에서 랜덤으로 크기를 결정 ex) 3 --- >> [ _ _ _ ] 3) data에 저장되는 정수는 100 ~ 105 사이의 랜덤수가 저장됨 ex) [ 102 100 100 ] 4) A - 데이터가 홀수들의 총합 5) B - 데이터가 짝수들의 평균 console) [ 102 100 100 ] 홀수총합 : 0 짝수평균 : 100.666667 */ 이클립스 에서 구현 하기 코드 풀이 1. data 배열의 값을 2로 나눴을 때 나머지가 0으로 떨어지면, 짝수이므로, 짝수만 골라서 합을 구한다. 2. 짝수평균을 구해야 해서, 짝수의 갯수를 알아야 한다. 조건문에서 짝수를 찾을때마다 짝수 갯수를 카운트 해줄 아이가 .. 2023. 5. 7.
배열 문제 2 /* 문제 int[] stu = new int[6]; 랜덤으로 점수를 생성해보자 ! 랜덤수가 잘 저장되었는지 출력 평균 점수 평균을 넘긴 학생의 수 6등의 번호 짝수번째 학생들의 총점 평균을 못넘긴 학생들의 번호 */ 학생들의 점수는 >> 39 27 34 3 67 98 평균 점수 : 44.666666666666664 평균을 못넘긴 학생들의 번호 >> 1번 2번 3번 4번 평균을 넘긴 학생의 수 >> 2 6등의 번호는 >> 4 짝수번째 학생들의 총점 >> 140 짚고 넘어가야할 부분 1. continue문 활용 2023. 5. 6.
배열 문제 1 // 상황) // 학생이 5명 // 우리반 학생의 총 점수 합 // 평균 점수는 ? // 1등은 몇번인지 ? int[] stu = new int[5]; stu[0] = 20; stu[1] = 12; stu[2] = 63; stu[3] = 87; stu[4] = 54; // 라고 가정한다. int sum = 0; for(int i = 0; i > " + sum); System.out.println(); double avg = sum * 1.0 / stu.length; System.out.print("평균 점수는 >> " + avg); System.out.println(); in.. 2023. 5. 6.
선택 정렬 Exam 04 선택 정렬 개념을 공부 하고 예제를 풀어 보았다. 짚고 넘어가야할 부분 1. flag 알고리즘과 그것을 어떻게 사용할지를 생각 2. 복습 하기. 2023. 5. 6.
선택 정렬 과제 과제 아래와 같이 문제를 만들었다. 코드를 짜기 전에 정리해 보았다. 입력받은 점수를 내림차순으로 정리하는데, 이름도 같이 바뀌어야 하기 때문에 tmp2 공간을 만들어서, for문이 끝날때 마다 점수와 이름이 같이 바뀌도록 코드를 짜주었다. 짚고 넘어갈 점 1. 점수가 내림차순으로 교환 될 때, 이름도 같이 교환 되야 하는 점. 2. 이 코드가 과연 좋은 코드인지 ,, ? 2023. 5. 6.
Flag 알고리즘 컴퓨터에서 무언가를 기억하거나 또는 다른 프로그램에게 약속된 신호를 남기기 위한 용도로 프로그램에 사용되는 미리 정의된 비트. 즉, 특정 동작을 수행할지 말지 결정하는 변수를 플래그 라고 부른다. (보통 1비트) 깃발을 올린다 와 내린다 두가지 상태로만 신호를 줄 수 있는 것을 떠올려 보자. 게임에서 사망 플래그 떴다 라는 표현을 사용할 때의 플래그. boolean flag = false; 로 초기값을 두고 사용 한다. boolean 타입은 초기값이 false 로 알고 있다. (아니면 수정 하겠음,,) 그런데 선언만 해주니까 값이 없다고 오류가 뜨는듯 하다. 초기화를 false로 해줘야 할듯 하다. (23.05.20 추가) 사용 하는 이유 : ~~가 있는지 없는지, ~~가 되었는지 안되었는지, ~~가 T.. 2023. 5. 6.
선택 정렬 Exam 03 선택 정렬 예제문을 풀어 보았다. 짚고 넘어가야할 부분 1. 내림차순 출력이므로, if문의 조건식을 확인 해 주기 2023. 5. 6.