728x90
반응형
SMALL
제목 : 나머지 (no.3052)
문제 출처
문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
Input
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
Output
첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.
Ex.Input 1
1
2
3
4
5
6
7
8
9
10
Ex.Output 1
10
Ex.Input 2
42
84
252
420
840
126
42
84
420
126
Ex.Output 2
1
Ex.Input 3
39
40
41
42
43
44
82
83
84
85
Ex.Output 3
6
Code
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner xx = new Scanner(System.in);
int[] basket = new int[42];
int count = 0;
// 바구니 숫자 바꾸기
for (int i = 0; i < 10; i++) {
int num = xx.nextInt();
basket[(num%42)] = (num%42)+1;
}
// 결과물 출력
for (int i = 0; i < 42; i++) {
if (basket[i] >= 1) {
count++;
}
}
System.out.println(count);
}
}
쉽게 생각하면된다.
결과물을 미리 만들어놓은 배열에 집어넣는다고 생각하면 손쉽게 풀 수 있다.
그렇게 생각하면 중복된 값이 들어간다해도 상관없기 때문이다.
다만 이 문제처럼 일정 범위와 값이 정해져 있기에 이렇게 풀 수 있는것이다.(아니면 복잡해진다)
티스토리와 깃허브 홈
오류나 궁금하신점은
아래 댓글로 알려주시면 감사하겠습니다.
728x90
반응형
LIST
'백준' 카테고리의 다른 글
[JAVA] 백준 10988. (0) | 2023.10.10 |
---|---|
[JAVA] 백준 1316. (1) | 2023.10.06 |
[JAVA] 백준 10813. (1) | 2023.10.05 |
[JAVA] 백준 10951. (2) | 2023.10.04 |
[JAVA] 백준 10811. (0) | 2023.09.27 |