문제
https://www.acmicpc.net/problem/3052
package baekjoon_7;
import java.util.Scanner;
public class CountDivision {
public static void main(String[] args) {
// get 10 numbers
int num[] = new int[10];
Scanner input = new Scanner(System.in);
System.out.println("10개의 숫자를 입력하세요.");
for (int i = 0; i < num.length; i++) {
int n = 0;
n = input.nextInt();
while (n < 0 || n > 1000) {
System.out.println("숫자를 다시 입력하세요.");
n = input.nextInt();
}
num[i] = n;
}
// Calculate and put division in array num
int div = 42;
for (int i = 0; i < num.length; i++) {
num[i] = num[i] % div;
}
// Print divisions
// make a array to check position (0: not counted, 1: counted)
int position[] = new int[10];
for (int i = 0; i < position.length; i++) {
position[i] = 0;
}
//count the first number of array 'num'
int i = 0, j = 1, count = 1;
System.out.print(num[0] + " ");
position[0] = 1;
//count divisions
while (i < num.length) {
//check the position of the same number with num[i]
for (; j < num.length ; j++) {
if(position[j] == 0 && num[i] == num[j])
position[j] = 1;
}
//change i and j
while (i < position.length && position[i] == 1)
i++;
j = i + 1;
//print and count next division
if(i >= position.length) {
break;
}
else {
System.out.print(num[i] + " ");
count++;
position[i] = 1;
}
}
//print the number of different divisions
System.out.print("/ the number of different divisions is " + count);
}
}
'알고리즘 문제풀이 > JAVA 알고리즘 문제풀이' 카테고리의 다른 글
백준(BaekJoon) 2577번 1차원 배열_숫자의 개수 (0) | 2020.03.23 |
---|---|
백준(BaekJoon) 10818번 1차원 배열_최소, 최대 (0) | 2020.03.21 |
백준(BaekJoon) 1110번 While문_더하기 사이클 (0) | 2020.03.19 |
백준(BaekJoon) 2753번 IF문_윤년 (0) | 2020.01.23 |
백준(BaekJoon) 1330번 IF문_두 수 비교하기 (0) | 2020.01.21 |