Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- node.js
- 배열
- 문자 단위 스트림
- ArrayList
- 코린이
- 보조 스트림
- 상속
- Java
- MPA
- 자료형
- try-catch
- 자바
- SSR
- 예외 처리
- 개발자
- FileInputStream
- 초보개발자
- 메서드
- 변수
- 새벽공부
- 바이트 단위 스트림
- 파이팅
- exception
- 백엔드
- 인터페이스
- throws
- 다형성
- 졸리다
- 코딩
- 인스턴스
Archives
- Today
- Total
SHUSTORY
[ 백준 ] 3052번 : 나머지 본문
728x90
문제

내 풀이
import java.util.Arrays;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] intArray = new int[10];
for (int i = 0; i < 10; i++) {
intArray[i] = sc.nextInt()%42;
}
Arrays.sort(intArray);
int count = 10;
for (int i = 0; i < 9; i++) {
if (intArray[i] == intArray[i+1])count--;
}
System.out.println(count);
}
}
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] intArray = new int[10];
for (int i = 0; i < 10; i++) {
intArray[i] = sc.nextInt()%42;
}
Arrays.sort(intArray);
int count = 10;
for (int i = 0; i < 9; i++) {
if (intArray[i] == intArray[i+1])count--;
}
System.out.println(count);
}
}
- 내가 알고 있는 선에서 문제를 풀어보았는데, 이 방법 외에도 다양한 방법이 있을 것 같아 새로운 개념을 알아보고 기록하고자 한다.
- 나는 10 크기의 배열을 만들어 10개의 int 값을 입력받아 42로 나눈 값을 배열에 저장하고,
해당 배열 요소를 정렬하여 앞뒤 값으로 중복되는 값이 있을 경우 count 10에서 1씩 차감하는 방식으로
서로 다른 나머지 값이 몇 개 있는지 알아내었다.
HashSet
Set / HashSet / 문제풀이
- Set
- 자바 컬렉션 프레임워크에서 중복된 요소를 허용하지 않고,
순서를 유지하지 않는 컬렉션 인터페이스 - Set 인터페이스를 구현한 주요 클래스
- HashSet
- LinkedHashSet _ 순서를 유지하려면 LinkedHashSet 클래스를 사용하면 된다.
- TreeSet _ 범위 검색과 정렬에 유리한 컬렉션 클래스 / HashSet 보다 데이터 추가, 삭제에 시간이 걸림
- 자바 컬렉션 프레임워크에서 중복된 요소를 허용하지 않고,
- HashSet
- 중복된 값을 허용하지 않는다.
- 순서를 유지하지 않는다.
- Null 요소를 한 번만 저장할 수 있다.
- HashSet을 사용한 문제풀이
import java.util.HashSet;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
HashSet<Integer> hSet = new HashSet<Integer>();
for (int i = 0; i < 10; i++) {
hSet.add(sc.nextInt() % 42);
}
sc.close();
System.out.println(hSet.size());
}
}
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
HashSet<Integer> hSet = new HashSet<Integer>();
for (int i = 0; i < 10; i++) {
hSet.add(sc.nextInt() % 42);
}
sc.close();
System.out.println(hSet.size());
}
}
'코딩테스트 > JAVA' 카테고리의 다른 글
[ 백준 ] 11654번 : 아스키 코드 (0) | 2024.01.29 |
---|---|
[ 백준 ] 27866번 : 문자와 문자열 (0) | 2024.01.23 |
[ 백준 ] 2562번 : 최댓값 (1) | 2023.12.04 |
[ 백준 ] 10818번 : 최소, 최대 _ JAVA (0) | 2023.12.02 |
[ 백준 ] 10871번 : X보다 작은 수 _ JAVA (1) | 2023.12.02 |