마찬가지로 문제를 다 공개할 수 없기 때문에 풀이에 사용했던 방법들을 정리하는 정도로 끝내겠습니다~
난수 생성하는 법
import java.util.Random;
int a = random.nextInt(1000); //0부터 999까지의 난수 생성
int b = random.nextInt(1000) + 1; //1부터 1000까지 난수 생성
Random 랜덤 클래스 참고 :
[JAVA] 자바_Random (랜덤 클래스)
- Random 클래스 사용하기 - Java.util.Random() - Random 클래스는 난수를 생성하는 클래스로 객체를 생성하여 사용한다. 함수 설명 boolean nextBoolean() boolean형 난수 반환 int nextInt() int형 난수 반환..
mine-it-record.tistory.com
여기서 잠깐!
1~1000까지의 범위는 넓기 때문에 중복된 숫자가 잘 나오지 않지만 중복된 수를 제거해 보겠습니다.
중복된 숫자를 보기 위해서 잠시 random.nextInt(10)+1로 바꿔줍니다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Random random = new Random();
System.out.print("숫자를 입력하세요 : ");
int num = Integer.parseInt(br.readLine());
int[] arr = new int[num];
for(int i=0; i<arr.length; i++)
{
arr[i] = random.nextInt(10)+1;
for(int j=0; j<i; j++)
{
if(arr[i]==arr[j])
{
i--;
}
}
}
for(int i=0; i<arr.length; i++)
{
System.out.println((i+1) + "번째 난수 : " + arr[i]);
}
====== 출력 ======
숫자를 입력하세요 : 5
1번째 난수 : 6
2번째 난수 : 10
3번째 난수 : 4
4번째 난수 : 2
5번째 난수 : 7
여기서 최소값과 최대값을 비교하려면 마지막 for문에 if문을 이용해주면 되겠죠?
int min = arr[0];
int max = arr[0];
for(int i=0; i<arr.length; i++)
{
System.out.println((i+1) + "번째 난수 : " + arr[i]);
if(min > arr[i])
{
min = arr[i];
}
else if(max < arr[i])
{
max = arr[i];
}
}
System.out.printf("최대값 : %d / 최소값 : %d", max, min);
사실 제출할 때 최대값과 최소값 순서를 잘 못 입력해서 제출을 했습니다.. 아쉽지만 입사하게 됐으니 아쉬움을 날려보내렵니다..~~
랜덤 중복제거 팁)
java로 중복 제거된 랜덤 구현하기 [자바강좌]
안녕하세요 java로 랜덤으로 값을 출력하는 방법과 중복이 제거된 랜덤을 출력하는 방법을 알아보겠습니다....
blog.naver.com
'개발일지 > Java + Spring' 카테고리의 다른 글
[Java] HashMap, HashTable (0) | 2022.02.28 |
---|---|
[Java] ArrayList 예제 (0) | 2022.02.27 |
[Java] InputStream, BufferedReader, Scanner 차이 (0) | 2022.02.27 |
[Java] 자바 입출력 예외처리 - throws IOException (0) | 2022.02.27 |
[면접/코딩테스트] 1-1 (0) | 2022.02.22 |