여태까지 자료구조 이것저것들은 배웠었는데, 문제풀이에서는 제대로 한번도 못써봤었다.
https://www.acmicpc.net/problem/3052
문제 설명 : 10개의 랜덤으로 주어진 숫자를 42로 나누었을 때 겹치지 않는 갯수를 구하여라(많이 요약함)
문제풀이 :
1. 딱 든 생각이 중복을 제거 해야겠는데? 어? 중복 ? Set이 중복 제거하는 자료구조형 아니었나? 하고 풀이에 들어갔다
2. 사실 자바 Set자료구조형 선언하는거 어색해서 Intellij의 도움을 받아서 찍듯이 해보았다.
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[10];
Set<Integer> uniqueValues = new HashSet<>(); // Set 선언
for (int i = 0; i < 10; i++) {
arr[i] = sc.nextInt() % 42;
uniqueValues.add(arr[i]); // Set에 값 추가 (중복은 자동으로 제거)
}
// Set의 크기 출력 (고유한 값의 개수)
System.out.println(uniqueValues.size());
}
}
자바 Set의 특징은 저렇게 인터페이스(부모)형 으로 선언하고 내가 HashSet, TreeSet, LinkedSet(자식) 들로 new 선언해줘서 쓰는것이다!! 앞으로 문제들에 적절한 자료구조형을 적용해서 풀어보자!
'Baekjoon' 카테고리의 다른 글
[JAVA] 2798번 블랙잭 🤎2 : 나의 첫 무서운 브루트포스 알고리즘 풀이 (2) | 2024.11.13 |
---|---|
[JAVA] 백준 1978번 소수찾기 🤎2 : 소수의 약수 범위에 대한 매우 중요한 생각! (0) | 2024.11.11 |
[JAVA] 10809번 알파벳 찾기 🤎2 : 아스키코드를 활용한 문자열 갯수 카운팅하기! (1) | 2024.11.10 |
[JAVA]백준 2903번 중앙 이동 알고리즘 🤎3 : 풀이 규칙을 잘 찾자! (0) | 2024.11.07 |
[JAVA]백준 2530 : 인공지능 시계🤎4 : 시분초를 잘 활용해야 하는 문제 (1) | 2024.10.20 |