728x90
3052번: 나머지
각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.
www.acmicpc.net
설계
- 입력받은 수를 42로 나눈 나머지 중 고유값의 개수를 구한다.
- 자연수로 된 특정 범위의 고유값을 구할 경우 중복 여부를 배열을 통해서 기록할 수 있다.
구현
코드
// package boj3052;
import java.util.Scanner;
//import java.util.Arrays;
public class Main {
public static void main(String[] args) {
// 각 나머지 값의 중복 여부를 저장하는 배열
boolean remain[] = new boolean[42];
Scanner scanner = new Scanner(System.in);
int cnt = 0;
for (int i = 0; i < 10; i++) {
// System.out.println(scanner.nextInt());
// 10개의 숫자를 입력받아서 각 숫자를 42로 나눈 나머지를 계산하고 중복되지 않는 경우를 카운트합니다.
int mod = scanner.nextInt() % 42;
// System.out.println(mod);
// 만약 나머지 값이 이미 체크되었다면 다음 반복으로 넘어갑니다.
if (remain[mod]) {
continue;
}
// 나머지 값이 중복되지 않으면 카운트를 증가시키고, 해당 나머지를 중복되었다고 표시합니다.
cnt++;
// 중복되지 않는 나머지를 true로 표시하여 중복 여부를 체크합니다.
remain[mod] = true;
}
// System.out.println(Arrays.toString(remain));
// 중복되지 않는 나머지의 개수를 출력합니다.
System.out.println(cnt);
scanner.close();
}
}
'Problem_Solving' 카테고리의 다른 글
프로그래머스 : 삼각 달팽이 (자바, JAVA) (1) | 2023.12.25 |
---|---|
백준(BOJ) 16945 : 매직 스퀘어로 변경하기 (자바, JAVA) (0) | 2023.12.25 |
프로그래머스 : 행렬의 곱셈 (자바, JAVA) (0) | 2023.12.25 |
프로그래머스 : 모의고사 (자바, JAVA) (0) | 2023.12.24 |
백준(BOJ) 16561 : 3의 배수 (자바, JAVA) (0) | 2023.12.24 |