일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- EC2
- 알고리즘
- 윈도우 kill -9
- SQL Optimizer
- 코딩테스트
- db
- Oracle
- jenkins gitlab 연동
- 깃랩 젠킨슨 연동
- 스프링 실행 에러
- SQL
- 베트스앨범
- 윈도우 프로세스 죽이기
- Row-Source Generation
- Soft Parsing
- 인바운드규칙
- jenkins
- 국가공은자격증
- SQL Parser
- Clooection
- AWS
- 프로그래머스
- FTP
- SFTP
- 프로그래머스 위장
- 프로그래머스 전호번호 목록
- SQL파싱
- Java
- Hard Parsing
- 리액트 돔
- Today
- Total
목록알고리즘 (4)
알파돈
처음풀어보는 프로그래머스 레벨 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 ..
이번문제는 중복인 값도 없고 확률 계산만 하면 생각보다 쉽게 풀 수 있었다. 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점이 나오는거보면 완주 못한경우가 이니셜 제일 마지막인 테스트케이스는 없는거같다