다섯째 개발일지
안녕하세요 #a991102 입니다.
오늘은 다섯째 개발인지인데요 오늘은 양이 짧습니다. 이해부탁드리겠습니다.
첫번재로는 배열 앞6자리 바꾸기입니다.
package 삼월십오일;
public class ArrayEx8 {
public static void main(String args[]) {
// 45 개의 정수값을 저장하기우한 배열 생성
int[] ball = new int [45];
//배열의 각 요소에 1~45 값을 저장한다 .
for(int i = 0; i< ball.length; i++) {
ball[i] = i+1;
}
int temp = 0; //두 값을 바꾸는데 사용할 임시변슈
int j = 0; // 임의의 값을 얻어서 저장할 변수
// 배열의 i 번째 요소와 임의의 요소에 저장된 값을 서로 바꿔서 값을 섞는다.
//0번재부터 5번째 요소까지 모두 6개만 바꾼다.
for(int i=0; i< 6; i++){
j = (int)(Math.random() * 45); //0부터 44범위의 정수를 얻는다
temp = ball[i];
ball[i] = ball[j];
ball[j] = temp;
}
//배열 ball 의 앞에서 부터 6개의 요소를 출력한다.
for(int i = 0; i <6; i++){
System.out.printf("ball[]%d=%d%n", i, ball[i]) ;
}
}
}
두번째는 최대값 , 최소값 구하는 것 입니다.
package 삼월십오일;
public class ArrayEx6 {
public static void main(String args[]) {
int []score = {79,88,91,33,100,55,95};
int max = score[0];
int min = score[0];
for(int i = 1; i < score.length; i++){
if(score[i] > max){
max= score[i];
}else if (score[i] < min ){
min = score[i];
}
}
System.out.println("최소값 : " + min);
System.out.println("최대값 : " + max);
}
}
와우!! 힘내세요!!
감사합니다^^
더욱이 이 알고리즘은 랜덤값에 따라서 앞 6자리가 바뀌지 않을 가능성이 있습니다.
그다음최대값 등을 쉽게 찾을 수 있습니다.
소팅은 은 NlogN 시간에 처리할 수 있으므로 문제에 따라서는 더 좋은 솔루션이 될 수 있습니다.
신경써서 읽어주셔서 감사합니다 ! 생각해보니까 로또 숫자구하는 것은 취약점을 보안해야할거같네요.
앞으로도 좋은말씀부탁드립니다. ! 감사합니다 :)
코드를 올릴 때는 아래 내용을 참고하세요.
https://steemit.com/kr-dev/@kdj/2mgzti