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 | 31 |
Tags
- xcode 깃오류
- 이클립스에서오라클데이터
- 자바SQL
- 자바SQLUPDATE
- 이클립스에서sql데이터삽입
- xcode #swift #app만들기이미지 #ios앱만들기
- 이클립스에서오라클데이터수정
- 이클립스에서sql자료넣기
- JDBCinsert
- xcode #swift공부
- replaceall여러문자 #javareplaceall
- 자바정수변환
- jwt #세션 #토큰 #로그인유지 #java
- xcode #swift #ios앱만들기 #swift배열
- JDBC수정
- DATE데이터타입
- jdbcconnection_id오류
- JDBC데이터삽입
- 이클립스로오라클데이터출력
- JDBCUPDATE
- xcode앱만들기 #xcode기초
- 이클립스에서SQL
- jdbc값검색
- jdbc셀렉트
- 오라클데이터수정자바
- 이클립스커넥션아이디오류
- swift화면전환
- jdbcselect
- jdbc
- xcode앱만들기 #swift #uikit
Archives
- Today
- Total
Yim-HaEun
[백준] 3052번 나머지 / HashSet을 사용하여 해결해보자 본문
1. 배열에 값을 모두 넣은 후 나중에 중복을 확인하는 방법
2.값을 배열에 넣기 전에 중복을 확인하는 방법에 대해 시간 복잡도를 지피티에게 물어봤습니다.
결론은 해쉬셋을 써라.
하.. 해쉬셋을 많이 안써봐서 뇌에서 바로 안나옴. 자료구조 시간에 썼으려나...
개념은 아는데 막상 활용까지 안이어지는게 탄식만 나온다.
1번 방법으로 배열에 넣었다 비교를 하게되면 코드짜는거야 간단해지지만
-배열에 넣는시간 O(n)(n은 배열의 크기)
-중복확인을 위해 배열을 비교하는 시간 O(n²) 이 걸림.
배열의 크기가 커질수록 시간이 급격히 늘어난다.
2번 방법 (값을 넣으면서 중복확인)
마찬가지로 최악의 경우(모두 확인) O(n), 중복확인 O(n²)
...
나보고 Set 자료구조를 사용하란다.
import java.util.HashSet;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
HashSet<Integer> set = new HashSet<>();
int count =0;
for(int i=0;i<10;i++) {
int n = scan.nextInt();
int num = n%42;
if(set.contains(num)) {
continue;
}else {
set.add(num);
count++;
}
}
System.out.println(count);
}
}
완.
'Java > Programmers 코테 풀이' 카테고리의 다른 글
[백준] 백준 랭크올리기, 롤 티어 올리기보다 쉽다?(Silver 5 달성)/ Bronze5 문제풀기 완. (0) | 2024.09.23 |
---|---|
[백준]11718번 그대로 출력하기 문제 풀다가 화나서 쓰는 글 (지나가십쇼) (0) | 2024.09.22 |
[백준]1152번 단어의 개수 구하기 (2) | 2024.09.21 |
[백준] JAVA / 10951번 A+B -4 문제 해결 하려면 ? (0) | 2024.09.21 |
[백준]Java BufferedWriter.flush() 로 빠르게 입출력하기 (0) | 2024.09.21 |