CODE/JAVA1

ChangeQuiz

maskan 2021. 1. 27. 15:45
import java.util.Arrays;

public class Quiz {

	public static void main(String[] args) {
		// 거스름돈 동전 갯수
		int money = (int)(Math.random()*500)*10;
		int[] coin = {500,100,50,10};
		
		/*
		 * 거스름돈에 동전의 단위마다 몇개의 동전이 필요한지 출력해주세요.
		 * 
		 * 거스름돈 : 2860원
		 * 500원 : 5개
		 * 100원 : 3개
		 * 50원 : 1개
		 * 10원 : 1개
		 */
//
//		System.out.println("거스름돈 : " + money);
//		int[] amount = new int[4];
//		for (int i = 0; i < coin.length; i++) {
//			while (money > coin[i]) {
//				money -= coin[i];
//				amount[i]++;
//			}
//		}
//		amount[3]++;
//		System.out.println(Arrays.toString(amount));
//		
//		int ch = 2860;
//		System.out.println("거스름돈 :" + ch + "원");
//		for (int i = 0; i < coin.length; i++) {
//			System.out.println(coin[i] + "원 : " + ch / coin[i] + "개");
//			ch %= coin[i];
//		}
//	      /*********답안********/
//		money = (int) (Math.random() * 500) * 10;
//		System.out.println("거스름돈 : " + money);
//		for (int i = 0; i < coin.length; i++) {
//			System.out.println(coin[i] + "원 : " + money / coin[i] + "개");
//			money = money % coin[i];
//		}
//	      
//	   //그래프 그리기
	   int[] arr = new int[20];
	   for(int i = 0; i<arr.length; i++){
		   arr[i] = (int)(Math.random()*5)+1;
	   }
	   System.out.println(Arrays.toString(arr));
//	   
//	   /*
//	    * 1~5의 숫자가 발생된 만큼 *을 사용해 그래프를 그려주세요.
//	    * 
//	    * 1:***3
//	    * 2:****4
//	    * 3:**2
//	    * 4:*****5
//	    * 5:*1
//	    */
	   
	   int count1=0;
		for (int a = 1; a <= 5; a++) {
			System.out.print(a+ " : ");
			for (int i = 0; i < arr.length; i++) {
				if (arr[i] == a) {
					System.out.print("*");
					count1++;
				}
			}System.out.println(" "+count1);
			count1 =0;
		}
		/*********답안********/
		int[] count = new int[5];
		for(int i = 0; i<arr.length; i++){
			count[arr[i]-1]++;
		}
		for(int i = 0; i<count.length; i++){
			System.out.print(i + 1 + " : ");
			for(int j = 0; j<count[i]; j++){
				System.out.print("*");
			}
			System.out.println(" " + count[i]);
		}
	   
	   arr  = new int[10];
	   for(int i = 0; i <arr.length; i++){
		   arr[i] = (int)(Math.random()*5) + 1;
	   }
	   System.out.println(Arrays.toString(arr));
//	   /*
//	    * 1~5 사이의 랜덤한 값이 10개의 저장된 배열에서 중복된 값이 제거된 배열을 만들어주세요.
//	    * [1, 3, 3, 2, 1, 4, 5, 5, 1, 3]
//	    * [1, 3, 2, 4, 5]
//	    */
	/*	int count2 = 0;
		for (int i = 0; i < arr.length - 1; i++) {
			for (int a = i + 1; a < arr.length; a++) {
				if (arr[i] == arr[a]) {
					arr[a] = 0;
				}
			}
			if (arr[i + 1] == 0) {
				count2++;
			}
		}
		int[] arr2 = new int[10 - count2];
		int temp = 0;
		for (int a = 0; a < arr2.length; a++) {
			for (int i = a + temp; i < arr.length; i++) {
				if (arr[i] != 0) {
					arr2[a] = arr[i];
					break;
				} else {
					temp++;
				}
			}
		}
		System.out.println(Arrays.toString(arr2));
		
		*/
		
		
//		
		int temp1 [] = new int[5];
	      int index = 0;
	      for(int i=0; i<arr.length; i++) {
	         boolean flag = false;
	         for(int j=0; j<temp1.length; j++) {
	            if(arr[i] == temp1[j]) {
	               flag = true;
	            }
	         }
	         if(!flag) {
	            temp1[index++] = arr[i];
	         }
	      }
	      System.out.println(Arrays.toString(temp1));

	      int[] result = new int[index];
	      for(int i=0; i<result.length; i++){
	         result[i] = temp1[i];
	      }
	      System.out.println(Arrays.toString(result));
		
		
			//나누어 떨어지는 숫자 배열
		arr = new int[100];
		for (int i = 0; i < arr.length; i++) {
			arr[i] = (int) (Math.random() * 100) + 1;
	}
	  /*
	   * 2~5 사이의 랜덤한 수로 나누어 떨어지는 숫자로만 이루어진 배열을 정렬하여 출력해주세요.
	   * 5
	   * [5,10,15,20,25...] 오름차순 정렬
	   */
		/*
		int div = (int)(Math.random()*4)+2; //나눌 숫자
		System.out.println(div);
		int[] _div = new int[50];
		int index1 = 0;
				for (int i = 0; i < arr.length; i++) {
			if (arr[i] % div == 0) {
				_div[index1++] = arr[i];
			}
		}
		System.out.println(Arrays.toString(_div));
		System.out.println(index1);
		int d=0;
		int[] _div1 = new int[index1];
		for(int i = 0; i<index1;i++){
			boolean flag = false;
			for(int j = 0;j<index1; j++){
				if(_div[i]==_div1[j]){
					flag= true;
				}
			}if(!flag){
				_div1[d++] = _div[i];
			}
		}System.out.println(Arrays.toString(_div1));
		

		//------중복제거완료----
		int min;
		for (int i = 0; i < _div1.length - 1; i++) {
			min = i;
			for (int j = i + 1; j < _div1.length; j++) {
				if (_div1[min] > _div1[j]) {
					min = j;
				}
			}
			int temp2 = _div1[i];
			_div1[i] = _div1[min];
			_div1[min] = temp2;

		}
		System.out.println("--------");
		System.out.println(Arrays.toString(_div1));
		d=0;
		int[] _div2= new int[_div1.length];
		for(int i = 0; i<_div1.length;i++){
			boolean flag = false;
			for(int j = 0;j<index1; j++){
				if(_div1[i]==0){
					flag= true;
				}
			}if(!flag){
				_div2[d++] = _div1[i];
			}
		}
		
		
	      int[] result = new int[d];
	      for(int i=0; i<result.length; i++){
	         result[i] = _div2[i];
	      }
	      System.out.println(Arrays.toString(result));
	      */
				//정렬
				
	      
	      /*********답안*********/
	      
	      int n = (int)(Math.random()*4)+2;
	      int[] temp = new int[100];
	      index = 0;
	      for(int i = 0; i<arr.length ;i++){
	    	  if(arr[i]%n ==0){
				temp[index++] = arr[i];
			}
		}
		arr = new int[index];
		for (int i = 0; i < arr.length; i++) {
			arr[i] = temp[i];
		}
		for (int i = 0; i < arr.length - 1; i++) {
			int min = i;
			for (int j = i + 1; j < arr.length; j++) {
				if (arr[j] < arr[min]) {
					min = j;
				}
			}
			int tmp = arr[i];
			arr[i] = arr[min];
			arr[min] = tmp;
		}
		System.out.println("n : " + n);
		System.out.println(Arrays.toString(arr));

	}
}