Quiz1>주사위 놀이를 하다가 주사위를 10번 던져서 각 숫자가 몇 번씩 나왔는지 알아보려고 한다. 한번 던질 때마다 나온 주사위의 숫자를 입력받아서 각 숫자가 몇 번씩 나왔는지 출력하는 프로그램을 작성하시오.
입력 예> 5 6 3 4 5 5 2 2 4 6
출력 예> 1 : 0
2 : 2
3 : 1
4 : 2
5 : 3
6 : 2
package lab.java.basic;
public class Quiz1 {
public static void main(String[] args) {
int[] nums = new int[10]; //주사위 눈 저장할 배열
int[] dices = new int[6]; //주사위 눈의 개수 저장할 배열
for (int i=0;i<nums.length;i++){
nums[i] = (int)(Math.random()*6)+1; //난수 생성 (주사위 1~6) 후 배열에 저장
}
for (int i=0;i<nums.length;i++){
switch(nums[i]) {
case 1: ++dices[0] ; break;
case 2: ++dices[1] ; break;
case 3: ++dices[2] ; break;
case 4: ++dices[3] ; break;
case 5: ++dices[4] ; break;
case 6: ++dices[5] ; break;
}
}
for (int i=0;i<dices.length;i++){
System.out.println("주사위 "+(i+1)+ " 나온 횟수 :" + dices[i]);
}
}
}
Quiz2>학생들의 점수를 입력을 받다가 0이 입력되면 그 때까지 입력받은 점수를 10점 단위로 구분하여 점수대별 학생 수를 출력하는 프로그램을 작성하시오. (1명도 없는 점수는 출력하지 않는다.)학생은 최대 100명이하이다.
입력 예> 63 80 95 100 46 64 88 0
출력 예> 100 : 1 person
90 : 1 person
80 : 2 person
60 : 2 person
40 : 1 person
package lab.java.basic;
import java.util.Scanner;
public class Quiz2 {
public static void main(String[] args) {
int[] jumsus = new int[100]; //입력받은 점수를 저장할 배열
int[] persons = new int[11]; //점수대 인원수를 저장할 배열
Scanner input = new Scanner(System.in);
int last = 0;
System.out.print("점수 입력>>");
for (int i=0;i<jumsus.length;i++){
jumsus[i] = input.nextInt();
if (jumsus[i]==0) {
last = i;//입력된 점수의 마지막 위치를 기억시켜 놓음
break;
}
}
for (int i=0;i<last;i++){ //입력된 점수의 마지막 위치까지만 반복 수행
switch(jumsus[i]/10) {
case 0: ++persons[0] ; break;
case 1: ++persons[1] ; break;
case 2: ++persons[2] ; break;
case 3: ++persons[3] ; break;
case 4: ++persons[4] ; break;
case 5: ++persons[5] ; break;
case 6: ++persons[6] ; break;
case 7: ++persons[7] ; break;
case 8: ++persons[8] ; break;
case 9: ++persons[9] ; break;
case 10: ++persons[10] ; break;
}
}
for (int i=persons.length-1;i>=0;i--){
if(persons[i]!=0)
System.out.println(i*10+ " : " + persons[i]+" person");
}
}
}
Quiz3>4행 3열의 배열을 선언하고 아래의 값으로 초기화 한 후 차례대로 출력한 후 배열의 모든 값을 더한 결과를 출력하는 프로그램 구현
{{3, 5, 9}, {2, 11, 5}, {8, 30, 10}, {22, 5, 1}}
출력 예>
3 5 9
2 11 5
8 30 10
22 5 1
111
Quiz4> 행의 크기를 입력받아 파스칼 삼각형을 작성하여 마지막 행부터 첫 번째 행까지 차례로 출력하는 프로그램 구현
입력 예> 6
출력 예>
1 5 10 10 5 1
1 4 6 4 1
1 3 3 1
1 2 1
1 1
1
hint>>파스칼 삼각형 규칙
1. 첫번재 줄은 항상 1이다.
2. 두번째 줄부터 각 숫자들은 자신의 왼쪽 위와 자신의 위의 숫자의 합으로 구성된다.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
package lab.java.basic;
import java.util.Scanner;
public class Quiz4 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("행수 입력>>");
int rows = input.nextInt();
int[][] pascal = new int[rows][];
for (int i=0;i<pascal.length;i++){
pascal[i] = new int[i+1];
for (int j=0;j<=i;j++){
if(i == j) {
pascal[i][j] = 1;
}else if(j == 0) {
pascal[i][j] = 1;
}else {
pascal[i][j] = pascal[i-1][j-1] + pascal[i-1][j];
}
}
}
for (int i=0;i<pascal.length;i++){
for (int j=0;j<pascal[i].length;j++){
System.out.print(pascal[i][j]+" ");
}
System.out.println();
}
System.out.println();
for (int i=pascal.length-1;i>=0;i--){
for (int j=0;j<pascal[i].length;j++){
System.out.print(pascal[i][j]+" ");
}
System.out.println();
}
}
}
'자바 코딩' 카테고리의 다른 글
메서드 정의, 구현 Coding 연습1 (0) | 2023.03.15 |
---|---|
배열, 메서드 코딩 연습 (1) | 2023.03.14 |
반복문과 배열 (0) | 2023.03.13 |
배열 연습문제2 (0) | 2023.03.10 |
배열 연습문제 1 (0) | 2023.03.10 |