반응형
🔺 문제
3052번: 나머지
각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.
www.acmicpc.net
🔺 코드
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
var br = new BufferedReader(new InputStreamReader(System.in));
Set<Integer> set = new HashSet<>();
for(int i = 0 ; i < 10 ; i++) {
Integer num = Integer.parseInt(br.readLine());
set.add(num % 42);
}
System.out.println(set.size());
}
}
✅ 해결 아이디어
- 입력받은 값을 중복 없이 삽입하기 위해 Set을 사용하여 값을 저장함.
- 중복 없이 값을 입력받았으니까 이 Set 값의 크기를 출력하면 된다.
💬 느낀 점
중복 제거할 때 Set을 사용하자!
원소 추가하고 크기 구하는 메소드는 리스트랑 큰 차이가 없다.
(참고)
✔ Set 사용법 (중복 제거)
[자바/java] Set, HashSet 사용법 데이터 삽입, 삭제, 출력
Set이란? 자바 컬렉션에 HashSet은 Set 인터페이스의 구현 클래스다. Set은 한국말로는 "집합"이고, 따로 저장 순서를 유지하지는 않는다. 또한 중복 값을 허용하지 않는다는 특징을 갖고 있다. *순서
tosuccess.tistory.com
반응형