문제
- 1~100까지의 숫자를 랜덤으로 입력하고 중복된 수는 제거하여 출력하세요.
입력 : 1 2 3 1 1 2 3 4 5 5
정답: 1 2 3 4 5
보완할 점
소스코드
import java.util.Scanner;
public class Algorithm21 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[10];
System.out.println("1~100까지의 숫자를 입력하세요");
//배열에 숫자 담기
for(int i = 0; i < arr.length; i++) {
System.out.print((i + 1) + "번째 숫자 >> ");
arr[i] = sc.nextInt();
}
int[] num = new int[100];
//하나씩 꺼내서 새로운 배열에 담기 (ex. 8이 나오면 num[7]에 담기
for(int i = 0; i < arr.length-1; i++) {
for(int j = 1; j < arr.length; j++) {
if(arr[i] != arr[j]) { //같지 않을 때만 들어와라
num[arr[i]-1] = arr[i]; //num[99] = 100 예외발생 막기 위해
num[arr[j]-1] = arr[j];
}else if(arr[i] == arr[j]) { //같을 때는 여기로
num[arr[i]-1] = arr[i];
}
}
}
//출력하기 (0이 아닌 것만)
System.out.print("정답: ");
for(int i = 0; i < num.length; i++) {
if(num[i] != 0) {
System.out.print(num[i]+ " ");
}
}
}
}
'알고리즘 문제연습 > 기초 알고리즘' 카테고리의 다른 글
[025] 더하기 사이클 (백준 1110번) (0) | 2021.06.09 |
---|---|
[023] 문자열 뒤집기 (0) | 2021.06.09 |
[024] 평균을 넘은 학생들의 비율(백준 4344번) (0) | 2021.06.07 |
[022] 팰린드롬 수 판별하기 (0) | 2021.06.07 |
[019] 거듭제곱 코드 (0) | 2021.06.02 |
댓글