반응형
문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
출력
첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.
풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
public class Main{
public static void main(String []args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
HashSet<Integer> num = new HashSet<>();
for(int i = 0; i < 10; i++) {
num.add(Integer.parseInt(br.readLine())% 42);
}
System.out.println(num.size());
}
}
서로다른 값이 몇 개 있는지 확인하기 위해 HashSet을 사용하였다.
HashSet은 중복원소를 허용하지 않기 때문에 나머지를 값을 구할 때 이미 값이 존재하는 경우 저장하지 않을 것이고 결국 서로 다른 나머지들만 저장이 될 것이다..!
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 2812 크게만들기 (자바풀이) (0) | 2024.07.25 |
---|---|
[백준] 1987알파벳 (0) | 2024.07.24 |
백준 [2869 달팽이는 올라가고 싶다] (1) | 2023.02.19 |
백준 [1193 분수찾기] (0) | 2023.02.18 |
백준 [5597] 과제 안내신 분..? (0) | 2023.02.10 |