티스토리 뷰
문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
출력
첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.
예제 입력 1
39 40 41 42 43 44 82 83 84 85
예제 출력 1
6
힌트
39, 40, 41, 42, 43, 44, 82, 83, 84, 85를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 모두 6개가 있다.
//배열풀이
public static void solution2() {
final int N = 10;
final int STANDARD_NUM = 42;
Scanner sc = new Scanner(System.in);
int count = 0;
boolean[] boo = new boolean[42];
for (int i = 0; i < N; i++) {
int num = sc.nextInt();
if (num > 1000 || num < 0) {
new RuntimeException("Out of Number;");
}
if (!boo[num % STANDARD_NUM]) {
count++;
}
boo[num % STANDARD_NUM] = true;
}
System.out.println(count);
}
- 코드 참고
- 필요 개념
*final naming
- final이면서 primitive type이면 대문자, reference type이면 소문자로!
*배열에 크기만 할당했을 때
- 각 배열의 자료형에 따른 기본값이 배열에 채워진다
ex) boolean[] boo = new boolean[42]; <- boolean배열 안에는 42개의 false(boolean의 기본값)이 채워짐
'Algorithm > 백준' 카테고리의 다른 글
Backjoon(백준) 1946번 - 신입사원(Java) (0) | 2020.04.17 |
---|---|
Backjoon(백준) 1546번 - 평균(Java) (0) | 2020.04.03 |
Backjoon(백준) 2577번 - 숫자의 개수(Java) (0) | 2020.03.20 |
Backjoon(백준) 2526번 -최댓값(Java) (0) | 2020.02.16 |
Backjoon(백준) 10818번 -최소, 최대(Java) (0) | 2020.02.12 |
댓글
최근에 올라온 글
최근에 달린 댓글
TAG
- 20200420
- 20200504
- 20200425
- 20200406
- 20200427
- 20200319
- 20201204
- 20200429
- 20200421
- 20200330
- 20200624
- 20200403
- 20200502
- 생활코딩리눅스
- likelion
- 20200804
- 백준
- 20200317
- 20200415
- 20200622
- 20200413
- 20200417
- 20200424
- 20200510
- 20200503
- chapter8
- 20200423
- 20200512
- chapter7
- 20200428
- Total
- Today
- Yesterday