article thumbnail image
Published 2022. 3. 9. 21:00
728x90

1차원 배열에 관련된 문제입니다.

 

잘 생각하시면 어렵지 않은 문제입니다. 

 

제일 기본적인 방법으로 풀어보도록 하겠습니다. 

 

먼저 배열의 모든 원소를 입력받아 저장하고 arrays.sort() 로 정렬합니다(오름차순 순으로 정렬이 됩니다.)

그렇다면 배열의 마지막길이는 배열에 가장 큰 값이라는것을 알수있습니다. 

 

또한 주의해야할 점은 연산할때 반드시 초소한자료형1개이상은 double형으로 써야합니다. 그러면 자동형변환이 되면서 자료형이 큰 쪽으로 (int에서 double)변환이 되기 때문입니다. 

여기서는 sum을 double형으로 해주었습니다. 

Scanner sc = new SCanner(System.in);

int a = sc.nextInt();
double num[] = new double[a];//배열의 길이를 정해줄수 있습니다. 


for( int i = 0; i<num.length; i++){
	num[i]=sc.nextInt(); //num[i]에 어떤 값을이 들어갈지 적어줄수 있는 구문입니다.
    
  	}
  double sum =0;
  
  Arrays.sort(num); //arrays.sort는 숫자의 크기대로 정렬을 해줍니다. 
  
  for(int i =0; i<num.length; i++){
  sum+= ((num[i]/num[num.length-1]) *100); //sum 에 축적될 값을 구해주는 구문입니다. 
  	}
  System.out.printLn(sum/num.length);
  	}
  }

 

 

728x90
복사했습니다!