| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 스프링 실행 에러
- jenkins
- SQL Parser
- Oracle
- 알고리즘
- AWS
- 윈도우 kill -9
- SQL Optimizer
- 깃랩 젠킨슨 연동
- Hard Parsing
- db
- 코딩테스트
- SQLP
- 국가공은자격증
- 윈도우 프로세스 죽이기
- 리액트 돔
- EC2
- 베트스앨범
- SFTP
- 인바운드규칙
- 프로그래머스
- Java
- FTP
- Clooection
- SQL
- Soft Parsing
- 프로그래머스 전호번호 목록
- SQL파싱
- jenkins gitlab 연동
- Row-Source Generation
- Today
- Total
목록JAVA (8)
알파돈
알고리즘 문제를 풀면서 학습한 스택과 큐의 핵심 개념과 자주 사용하는 패턴을 정리했습니다.📌 목차기본 개념주요 메서드Java 8 필수 문법자주 사용하는 패턴실전 팁기본 개념Stack (스택)LIFO (Last In First Out): 마지막에 들어온 것이 먼저 나감접시 쌓기와 같은 구조사용 시기:이전 값과 비교가 필요할 때괄호 검사, 되돌리기(Undo) 기능최근 것부터 처리해야 할 때"아직 처리 안 된 것들"을 저장 후 조건 만족 시 처리Queue (큐)FIFO (First In First Out): 먼저 들어온 것이 먼저 나감줄 서기와 같은 구조사용 시기:순서대로 처리가 필요할 때시뮬레이션 문제 (시간 순서 처리)작업 대기열, 프로세스 스케줄링BFS 탐색주요 메서드Stack 메서드Stack stac..
해시(Hash) 총정리언제 해시를 사용할까?✅ 빈도수 계산이 필요할 때✅ 중복 제거가 필요할 때✅ 빠른 검색(O(1))이 필요할 때✅ 키-값 쌍으로 데이터를 관리할 때✅ 그룹핑/분류가 필요할 때자주 사용하는 패턴1. 빈도수 계산Map countMap = new HashMap();for (String item : items) { countMap.put(item, countMap.getOrDefault(item, 0) + 1);}2. 그룹핑Map> groupMap = new HashMap();groupMap.computeIfAbsent(key, k -> new ArrayList()).add(value);3. 중복 제거Set uniqueSet = Arrays.stream(arr).boxed().colle..
처음풀어보는 프로그래머스 레벨 3 문제 였다. 문제부터 읽어보면 무슨 소리인지 몰랐는데, 가장 많이 재생된 장르를 골라 2개씩 고유번호(배열의 인덱스번호)를 결과 값에 담으면 된다. 이걸보면 pop는 총 3100번 > classic 는 1450번으로 pop부터 2개 담고 classic 2개를 담으면 된다. import java.util.*; class Solution { public Integer[] solution(String[] genres, int[] plays) { ArrayList answerList = new ArrayList(); HashMap hashMap = new HashMap(); HashMap genresMap = new HashMap(); HashMap playsMap = new ..
일단 이번문제는 문제 읽고 무슨소리인지 몰랐다. 다시보니까 이해가 됬다 본인이 다른 배열값의 접두어인지만 확인하면 된다. 이문제는 처음에 Hash를 안하고 그냥 배열에서 이중 for문으로 돌리다보니 성능테스트 3, 4에서 시간 초과가 나와 왜일가 고민하면서 알아본결과 HashMap가 시간이 훨씬 빠르다고 한다. 이 문제도 일단 전화번호 목록을 hashMap에 넣고 하니 성능이 다 통고 했다. 이 부분을 보면 값을 substring으로 잘라 hashMap에 값이 존재하는지 확인하다. 본인 길이보다 1작게 잘리기때문에 자기자신을 비교해도 같다고 안나온다.
이번문제는 중복인 값도 없고 확률 계산만 하면 생각보다 쉽게 풀 수 있었다. HashMap을 사용해서 일단 배열들을 해시하여 중복값을 제거한 후 갯수만 저장한다. 코딩을 풀고나서 알아보니 위 코드보다 hashMap.getOrDefault()라는 메서드를 사용하면 코드 길이도 줄어 들었다. hashMap.getOrDefault(clothes[i][1], 0) +1 이렇게 하면 된다. HashMap를 반복문 돌리면서 곱해주면 답을 구할 수 있다 *마지막에 모두 안입은 경우는 빼줘해서 -1이 필요하다. 필자는 반복문을 위해 Set를 만들어서 사용 했다.
코딩테스트 고득점 Kit 해시의 첫번째 문제 완주하지 못한 선수 비교 알고리즘이다 일단은 두 배열을 비교하는 문제이다 항상 paricipant배열이 completion보다 1 크다. 레벨 1 답게 코드는 생각보다 간단했다. 먼저 Arrays.sort()메서드를 사용해서 두 배열을 sort해준다음 비교해주면 된다. 이렇게 하면 이름이 같은 사람이 나올경우도 해결 할 수 있다. paricipant배열이 completion보다 1 크므로 반복문 실행 시 길이보다 하나 작게 한다. 맨마지막 return은 paricipant 마지막 인자값으로 설정한다. 이렇게 안해줘도 100점이 나오는거보면 완주 못한경우가 이니셜 제일 마지막인 테스트케이스는 없는거같다