본문 바로가기

전체 글

(149)
Day07_array_Test12 : 선택 정렬 (★★) (Q) 선택 정렬 (Selection sort) 다음 규칙에 따라 정렬을 구현하세요. 30, 10, 20, 50, 40을 저장할 배열을 만듭니다. 배열의 위치를 변경하여 10, 20, 30, 40, 50 순으로 저장될 수 있도록 만든 뒤 출력합니다 배열에서 가장 작은 값을 찾아 가장 왼쪽에 있는 데이터와 교체합니다 교체된 데이터의 위치는 제외하고 나머지 위치에서 가장 작은 값을 찾아 좌측 데이터와 교체합니다 데이터가 완전히 정렬될 때까지 반복합니다 ** 다음 사이트를 참고하여 구현하세요 1. 상단 메뉴에서 정렬 방식을 `SEL`(선택 정렬, SELECTION SORT)로 지정합니다 2. 하단 `Create(A)` 버튼을 눌러 데이터 입력란에 `30, 10, 20, 50, 40`을 입력하고 Go를 누릅니다..
Day07_array_Test11 : 배열 뒤집기 (★) (Q) 배열 뒤집기 30, 10, 20, 50, 40을 배열에 저장합니다 배열의 데이터를 순차적으로 출력합니다 배열의 모든 데이터의 위치를 반대로 변경합니다(result : 40, 50, 20, 10, 30) 변경된 데이터를 순차적으로 출력합니다 ** 요약 - 20을 기준으로 index가 0, 1인 배열 값을 3, 4와 바꾼다 - 배열의 길이를 2로 나눈 값을 반복수의 최대 범위로 하면 배열의 길이가 짝수일 때는 배열의 절반까지, 홀수일 때는 중심의 데이터를 뺀 절반까지가 된다(나머지 버림) package day07; public class Day07_array_Test11 { public static void main(String[] args) { // 뒤집기 전 배열 int[] array = new ..
Day07_array_Test10 : 점심 메뉴 추천 (배열의 활용 + random) (Q) 점심 메뉴 추첨 프로그램 사용자에게 입력할 메뉴의 개수를 입력받아 해당 크기만큼의 배열을 생성합니다 생성된 배열에 점심메뉴를 입력합니다 입력이 완료되면 입력된 메뉴 중에서 랜덤으로 한 개의 메뉴를 추첨한 뒤 출력합니다 package day07; import java.util.Scanner; import java.util.Random; public class Day07_array_Test10 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //생성하려는 배열의 크기 입력 int num = sc.nextInt(); //String 형태의 배열 생성 String[] array = new String[num];..
Day07_array_Test07 : 성적의 총합, 평균, 등수 구하기 (배열의 활용 - count) (★★) (Q) 우리반 학생들의 시험 성적은 다음과 같습니다 - 75점 / 92점 / 86점 / 65점 / 79점 / 95점 / 88점 / 86점 / 72점 / 77점 1. 전체 학생의 점수를 배열에 저장한 뒤 출력하세요 2. 전체 학생의 평균을 구하여 출력하세요 3. 성적 우수자(90점 이상)의 숫자를 카운트하여 출력하세요 4. 만약 이 반에 85점 이상이 전학을 왔다면 이 학생의 예상 등수는 몇등인지 출력하세요 package day07; public class Day07_array_Test07 { public static void main(String[] args) { //배열 생성 float[] array = new float[] {75, 92, 86, 65, 79, 95, 88, 86, 72, 77}; /..
Day06_random_Test09 : 확률 구현 (★) (Q) 아이템 강화 시뮬레이션 강화 확률은 아이템과 같다 - 성공 : 25% 확률로 아이템의 레벨이 +1 됩니다 - 실패 : 25% 확률로 아이템의 레벨이 -1 됩니다 - 현상 유지 : 50% 확률로 아이템의 레벨이 변하지 않습니다 (단, 아이템의 레벨은 0보다 작거나 15보다 커지는 일은 없습니다) package day06; import java.util.Random; public class Day06_random_Test09 { public static void main(String[] args) { Random r = new Random(); int itemLV = 0; int count = 0; while(true) { int range = r.nextInt(100) + 1; if(range
Day06_random_Test07 : 업다운 게임 (random의 활용) (★) (Q) 업다운 게임 숫자를 하나 정해두고 랜덤으로 1에서 1000 사이의 숫자를 하나 정합니다 사용자가 범위 내에서 숫자를 입력합니다 프로그램은 사용자가 입력한 값과 정답을 비교해서 업, 다운, 정답 세 개중 하나를 알려줍니다. - 업은 정답이 입력값보다 크다는 의미입니다. - 다운은 정답이 입력값보다 작다는 의미입니다. - 정답은 정답과 입력값이 같은 경우를 말하며, 게임이 종료되어야 합니다. 업다운 게임을 구현하시고 정답을 맞추면 몇번 만에 맞췄는지 계산해서 출력해주세요. package day06; import java.util.Scanner; import java.util.Random; public class Day06_random_Test07 { public static void main(Stri..
Day06_random_Test06 : 블루마블 무인도 탈출 (random의 활용) (Q) 부루마블이라는 게임을 하다가 무인도에 갖혔습니다 - 무인도에서 탈출하려면 주사위 두 개를 던져 5-5가 나오거나 6-6이 나와야 합니다 - 무인도에서 탈출할 때까지 주사위를 던지고, 탈출하면 던진 주사위의 횟수가 출력되도록 구현하세요 package day06; import java.util.Random; public class Day06_random_Test06 { public static void main(String[] args) { Random r = new Random(); int diceCount = 0; while(true) { int first = r.nextInt(6) + 1; int second = r.nextInt(6) + 1; boolean five = first == 5 &&..
Day06_random_Test04 : 랜덤 구구단 문제 (3번 틀리면 게임 오버) (Q) 사용자가 3번 틀릴 때까지 무작위로 구구단 문제를 출제하는 프로그램을 구현하세요 - 3번 틀리면 게임오버가 되며 그동안 맞춘 문제 개수가 출력되어야 합니다. package day06; import java.util.Random; public class Day06_random_Test06 { public static void main(String[] args) { Random r = new Random(); int diceCount = 0; while(true) { int first = r.nextInt(6) + 1; int second = r.nextInt(6) + 1; boolean five = first == 5 && second == 6; boolean six = first == 6 && s..