문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
풀이
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = 0;
int[] b = new int[10];
for (int i = 0; i < 10; i++) {
int input = scanner.nextInt();
a = input%42;
b[i] = a;
}
b = Arrays.stream(b).distinct().toArray();
System.out.println(b.length);
}
}
1.
int a = 0;
int[] b = new int[10];
입력받은 수를 42로 나눈 나머지 값을 넣어줄 a 와 그 값들을 넣어줄 배열 b를 선언한다.
2.
for (int i = 0; i < 10; i++) {
int input = scanner.nextInt();
a = input%42;
b[i] = a;
}
입력받은 수와 42의 나머지 값을 a 안에 넣어주고 b 배열 안에 바로 넣어준다.
3.
b = Arrays.stream(b).distinct().toArray();
System.out.println(b.length);
stream을 사용하여 중복 제거를 해준다.
.distinct 는 중복제거고 toArray는 배열로 만들어준다는 의미이다.
그리고 중복 값들이 제거 된 b의 길이를 출력해준다.
'백준' 카테고리의 다른 글
[JAVA] 백준 2588번 곱셈 (0) | 2023.03.16 |
---|---|
[JAVA] 백준 2839번 설탕 배달 (0) | 2023.03.16 |
[JAVA] 백준 2908번 상수 (0) | 2023.03.13 |
[JAVA] 백준 2884번 알람 시계 (0) | 2023.03.10 |
[JAVA] 백준 2742번 기찍 N (0) | 2023.03.10 |
문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
풀이
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = 0;
int[] b = new int[10];
for (int i = 0; i < 10; i++) {
int input = scanner.nextInt();
a = input%42;
b[i] = a;
}
b = Arrays.stream(b).distinct().toArray();
System.out.println(b.length);
}
}
1.
int a = 0;
int[] b = new int[10];
입력받은 수를 42로 나눈 나머지 값을 넣어줄 a 와 그 값들을 넣어줄 배열 b를 선언한다.
2.
for (int i = 0; i < 10; i++) {
int input = scanner.nextInt();
a = input%42;
b[i] = a;
}
입력받은 수와 42의 나머지 값을 a 안에 넣어주고 b 배열 안에 바로 넣어준다.
3.
b = Arrays.stream(b).distinct().toArray();
System.out.println(b.length);
stream을 사용하여 중복 제거를 해준다.
.distinct 는 중복제거고 toArray는 배열로 만들어준다는 의미이다.
그리고 중복 값들이 제거 된 b의 길이를 출력해준다.
'백준' 카테고리의 다른 글
[JAVA] 백준 2588번 곱셈 (0) | 2023.03.16 |
---|---|
[JAVA] 백준 2839번 설탕 배달 (0) | 2023.03.16 |
[JAVA] 백준 2908번 상수 (0) | 2023.03.13 |
[JAVA] 백준 2884번 알람 시계 (0) | 2023.03.10 |
[JAVA] 백준 2742번 기찍 N (0) | 2023.03.10 |